()
| 7 | |
| 8 | #[test] |
| 9 | fn 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] |
| 59 | fn test_stream_arrows_2() -> Result<(), StrError> { |
nothing calls this directly
no test coverage detected