comparison test/testGrids.jl @ 406:c377fc37c04b test/equidistantgrid

Clean up EquidistantGrid and tests after deciding that side lengths must be positive.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Tue, 13 Oct 2020 17:16:28 +0200
parents 16dc5b19843d
children b7734413003d
comparison
equal deleted inserted replaced
405:16dc5b19843d 406:c377fc37c04b
7 @test EquidistantGrid(4,0.0,1.0) isa EquidistantGrid 7 @test EquidistantGrid(4,0.0,1.0) isa EquidistantGrid
8 @test EquidistantGrid(4,0.0,8.0) isa EquidistantGrid 8 @test EquidistantGrid(4,0.0,8.0) isa EquidistantGrid
9 # constuctor 9 # constuctor
10 @test_throws DomainError EquidistantGrid(0,0.0,1.0) 10 @test_throws DomainError EquidistantGrid(0,0.0,1.0)
11 @test_throws DomainError EquidistantGrid(1,1.0,1.0) 11 @test_throws DomainError EquidistantGrid(1,1.0,1.0)
12 @test_throws DomainError EquidistantGrid(1,1.0,-1.0) # TODO: Remove if we allow side lengths to be negative. 12 @test_throws DomainError EquidistantGrid(1,1.0,-1.0)
13 @test EquidistantGrid(4,0.0,1.0) == EquidistantGrid((4,),(0.0,),(1.0,)) 13 @test EquidistantGrid(4,0.0,1.0) == EquidistantGrid((4,),(0.0,),(1.0,))
14 14
15 # size 15 # size
16 @test size(EquidistantGrid(4,0.0,1.0)) == (4,) 16 @test size(EquidistantGrid(4,0.0,1.0)) == (4,)
17 @test size(EquidistantGrid((5,3), (0.0,0.0), (2.0,1.0))) == (5,3) 17 @test size(EquidistantGrid((5,3), (0.0,0.0), (2.0,1.0))) == (5,3)
21 @test dimension(EquidistantGrid((5,3), (0.0,0.0), (2.0,1.0))) == 2 21 @test dimension(EquidistantGrid((5,3), (0.0,0.0), (2.0,1.0))) == 2
22 22
23 # spacing 23 # spacing
24 @test [spacing(EquidistantGrid(4,0.0,1.0))...] ≈ [(1. /3,)...] atol=5e-13 24 @test [spacing(EquidistantGrid(4,0.0,1.0))...] ≈ [(1. /3,)...] atol=5e-13
25 @test [spacing(EquidistantGrid((5,3), (0.0,-1.0), (2.0,1.0)))...] ≈ [(0.5, 1.)...] atol=5e-13 25 @test [spacing(EquidistantGrid((5,3), (0.0,-1.0), (2.0,1.0)))...] ≈ [(0.5, 1.)...] atol=5e-13
26 # TODO: Include below if we allow side lengths to be negative.
27 #@test [spacing(EquidistantGrid((5,3), (0.0,1.0), (-1.0,-2.0)))...] ≈ [(0.25, 1.5)...] atol=5e-13
28 26
29 # inverse_spacing 27 # inverse_spacing
30 @test [inverse_spacing(EquidistantGrid(4,0.0,1.0))...] ≈ [(3.,)...] atol=5e-13 28 @test [inverse_spacing(EquidistantGrid(4,0.0,1.0))...] ≈ [(3.,)...] atol=5e-13
31 @test [inverse_spacing(EquidistantGrid((5,3), (0.0,-1.0), (2.0,1.0)))...] ≈ [(2, 1.)...] atol=5e-13 29 @test [inverse_spacing(EquidistantGrid((5,3), (0.0,-1.0), (2.0,1.0)))...] ≈ [(2, 1.)...] atol=5e-13
32 # TODO: Include below if we allow side lengths to be negative.
33 #@test [inverse_spacing(EquidistantGrid((5,3), (0.0,1.0), (-1.0,-2.0)))...] ≈ [(4., 2. /3)...] atol=5e-13
34 30
35 # points 31 # points
36 g = EquidistantGrid((5,3), (-1.0,0.0), (0.0,7.11)) 32 g = EquidistantGrid((5,3), (-1.0,0.0), (0.0,7.11))
37 gp = points(g); 33 gp = points(g);
38 p = [(-1.,0.) (-1.,7.11/2) (-1.,7.11); 34 p = [(-1.,0.) (-1.,7.11/2) (-1.,7.11);
40 (-0.5,0.) (-0.5,7.11/2) (-0.5,7.11); 36 (-0.5,0.) (-0.5,7.11/2) (-0.5,7.11);
41 (-0.25,0.) (-0.25,7.11/2) (-0.25,7.11); 37 (-0.25,0.) (-0.25,7.11/2) (-0.25,7.11);
42 (0.,0.) (0.,7.11/2) (0.,7.11)] 38 (0.,0.) (0.,7.11/2) (0.,7.11)]
43 approxequal = true; 39 approxequal = true;
44 for i ∈ eachindex(gp) 40 for i ∈ eachindex(gp)
45 approxequal=approxequal*all(isapprox.(gp[i],p[i], atol=5e-13)); 41 approxequal=approxequal&&all(isapprox.(gp[i],p[i], atol=5e-13));
46 end 42 end
47 @test approxequal == true 43 @test approxequal == true
48 44
49 45
50 # restrict 46 # restrict