MCPcopy Create free account
hub / github.com/cpmech/plotpy / test_stream_arrows_1

Function test_stream_arrows_1

tests/test_stream.rs:9–56  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

7
8#[test]
9fn test_stream_arrows_1() -> Result<(), StrError> {
10 // object and options
11 let mut stream = Stream::new();
12 let mut quiver = Stream::new();
13
14 // data
15 let (nx, ny) = (10, 10);
16 let (xx, yy) = generate2d(-2.0, 2.0, -2.0, 2.0, nx, ny);
17 let (mut uu, mut vv) = generate2d(0.0, 1.0, 0.0, 1.0, nx, ny);
18 for j in 0..ny {
19 for i in 0..nx {
20 let x = xx[j][i];
21 let y = yy[j][i];
22 uu[j][i] = -y;
23 vv[j][i] = x;
24 }
25 }
26
27 // draw arrows
28 stream
29 .set_color("#dfa629ff")
30 .set_streamline_linewidth(0.75)
31 .set_streamplot_arrow_style("fancy")
32 .set_streamplot_density(0.8)
33 .set_streamplot_extra("broken_streamlines=False")
34 .draw(&xx, &yy, &uu, &vv);
35 quiver
36 .set_color("#4752c7ff")
37 .set_quiver_inv_scale(15.0)
38 .set_quiver_pivot("mid")
39 .draw_arrows(&xx, &yy, &uu, &vv);
40
41 // add contour to plot
42 let mut plot = Plot::new();
43 plot.add(&stream).add(&quiver);
44
45 // save figure
46 let path = Path::new(OUT_DIR).join("integ_stream_arrows_1.svg");
47 plot.set_equal_axes(true).save(&path)?;
48
49 // check number of lines
50 let file = File::open(path).map_err(|_| "cannot open file")?;
51 let buffered = BufReader::new(file);
52 let lines_iter = buffered.lines();
53 let n = lines_iter.count();
54 assert!(n > 4300 && n < 8730);
55 Ok(())
56}
57
58#[test]
59fn test_stream_arrows_2() -> Result<(), StrError> {

Callers

nothing calls this directly

Calls 13

generate2dFunction · 0.85
set_streamplot_extraMethod · 0.80
draw_arrowsMethod · 0.80
set_quiver_pivotMethod · 0.80
set_quiver_inv_scaleMethod · 0.80
saveMethod · 0.80
set_equal_axesMethod · 0.80
drawMethod · 0.45
set_colorMethod · 0.45

Tested by

no test coverage detected