annotate test/Grids/equidistant_grid_test.jl @ 1695:a4c52ae93b11 feature/grids/manifolds

Merge feature/grids/curvilinear
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 28 Aug 2024 10:35:08 +0200
parents 13a7a4ff49e3 3ac94e8f28b3
children 03894fd7b132
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
335
f4e3e71a4ff4 Fix `using` commands to refer to local modules within the Sbplib package/module
Jonatan Werpers <jonatan@werpers.com>
parents: 333
diff changeset
1 using Sbplib.Grids
213
0bf761485f40 Add test stub to package Grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 using Test
660
b21fea54ca10 Add tests for Grids.boundary_identifiers
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 407
diff changeset
3 using Sbplib.RegionIndices
1146
31041ef8092a Specialize evalOn for EquidistantGrid to return a LazyArray
Jonatan Werpers <jonatan@werpers.com>
parents: 1144
diff changeset
4 using Sbplib.LazyTensors
1565
c3425b4302b8 Add equidistant_grid method for HyperBox
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
5 using StaticArrays
213
0bf761485f40 Add test stub to package Grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6
338
2b0c9b30ea3b Add test sets for each submodule to make the test output nicer
Jonatan Werpers <jonatan@werpers.com>
parents: 335
diff changeset
7
324
047dee8efaef Grids.EquidistantGrid: Add constructor for 1d grid
Jonatan Werpers <jonatan@werpers.com>
parents: 217
diff changeset
8 @testset "EquidistantGrid" begin
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
9 @test EquidistantGrid(0:0.1:10) isa EquidistantGrid
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
10 @test EquidistantGrid(range(0,1,length=10)) isa EquidistantGrid
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
11 @test EquidistantGrid(LinRange(0,1,11)) isa EquidistantGrid
353
8257cc75ea6b Add doc string and allow picking several dimensions
Jonatan Werpers <jonatan@werpers.com>
parents: 352
diff changeset
12
1259
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
13 @testset "Indexing Interface" begin
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
14 g = EquidistantGrid(0:0.1:10)
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
15 @test g[1] == 0.0
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
16 @test g[5] == 0.4
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
17 @test g[101] == 10.0
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
18
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
19 @test g[begin] == 0.0
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
20 @test g[end] == 10.0
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
21
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
22 @test all(eachindex(g) .== 1:101)
1398
447833be2ecc Add tests for first and last index of equidistant grid
Jonatan Werpers <jonatan@werpers.com>
parents: 1365
diff changeset
23
447833be2ecc Add tests for first and last index of equidistant grid
Jonatan Werpers <jonatan@werpers.com>
parents: 1365
diff changeset
24 @test firstindex(g) == 1
447833be2ecc Add tests for first and last index of equidistant grid
Jonatan Werpers <jonatan@werpers.com>
parents: 1365
diff changeset
25 @test lastindex(g) == 101
1259
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
26 end
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
27
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
28 @testset "Iterator interface" begin
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
29 @test eltype(EquidistantGrid(0:10)) == Int
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
30 @test eltype(EquidistantGrid(0:2:10)) == Int
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
31 @test eltype(EquidistantGrid(0:0.1:10)) == Float64
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
32 @test size(EquidistantGrid(0:10)) == (11,)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
33 @test size(EquidistantGrid(0:0.1:10)) == (101,)
1259
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
34
1437
e3a80ef08d09 Implement size(g,d) for EquidistantGrid and TensorGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1414
diff changeset
35 @test size(EquidistantGrid(0:0.1:10),1) == 101
e3a80ef08d09 Implement size(g,d) for EquidistantGrid and TensorGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1414
diff changeset
36
1259
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
37 @test collect(EquidistantGrid(0:0.1:0.5)) == [0.0, 0.1, 0.2, 0.3, 0.4, 0.5]
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
38
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
39 @test Base.IteratorSize(EquidistantGrid{Float64, StepRange{Float64}}) == Base.HasShape{1}()
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
40 end
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
41
ee57bdb366e4 Reorganize some EquidistantGrid tests and add test for IteratorSize and eachindex
Jonatan Werpers <jonatan@werpers.com>
parents: 1255
diff changeset
42 @testset "Base" begin
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
43 @test ndims(EquidistantGrid(0:10)) == 1
1414
1aa8adbf13d5 Move tests for axes out of indexing interface testset
Jonatan Werpers <jonatan@werpers.com>
parents: 1413
diff changeset
44
1aa8adbf13d5 Move tests for axes out of indexing interface testset
Jonatan Werpers <jonatan@werpers.com>
parents: 1413
diff changeset
45 g = EquidistantGrid(0:0.1:10)
1aa8adbf13d5 Move tests for axes out of indexing interface testset
Jonatan Werpers <jonatan@werpers.com>
parents: 1413
diff changeset
46 @test axes(g,1) == 1:101
1aa8adbf13d5 Move tests for axes out of indexing interface testset
Jonatan Werpers <jonatan@werpers.com>
parents: 1413
diff changeset
47 @test axes(g) == (1:101,)
688
e9e46a587370 Add eltype function to EquidistantGrids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 686
diff changeset
48 end
405
16dc5b19843d Fix exception handling in constructor of EquidistantGrid and add a bunch of tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 358
diff changeset
49
1125
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
50 @testset "spacing" begin
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
51 @test spacing(EquidistantGrid(0:10)) == 1
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
52 @test spacing(EquidistantGrid(0:0.1:10)) == 0.1
1125
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
53 end
405
16dc5b19843d Fix exception handling in constructor of EquidistantGrid and add a bunch of tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 358
diff changeset
54
1125
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
55 @testset "inverse_spacing" begin
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
56 @test inverse_spacing(EquidistantGrid(0:10)) == 1
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
57 @test inverse_spacing(EquidistantGrid(0:0.1:10)) == 10
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
58 end
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
59
1646
5f348cc5598e Add min_spacing function for grids
Jonatan Werpers <jonatan@werpers.com>
parents: 1602
diff changeset
60 @testset "min_spacing" begin
5f348cc5598e Add min_spacing function for grids
Jonatan Werpers <jonatan@werpers.com>
parents: 1602
diff changeset
61 @test min_spacing(EquidistantGrid(0:10)) == 1
5f348cc5598e Add min_spacing function for grids
Jonatan Werpers <jonatan@werpers.com>
parents: 1602
diff changeset
62 @test min_spacing(EquidistantGrid(0:0.1:10)) == 0.1
5f348cc5598e Add min_spacing function for grids
Jonatan Werpers <jonatan@werpers.com>
parents: 1602
diff changeset
63 end
5f348cc5598e Add min_spacing function for grids
Jonatan Werpers <jonatan@werpers.com>
parents: 1602
diff changeset
64
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
65 @testset "boundary_identifiers" begin
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
66 g = EquidistantGrid(0:0.1:10)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
67 @test boundary_identifiers(g) == (Lower(), Upper())
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
68 @inferred boundary_identifiers(g)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
69 end
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
70
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
71 @testset "boundary_grid" begin
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
72 g = EquidistantGrid(0:0.1:1)
1279
1157f889bf50 Clear out some TBDs
Jonatan Werpers <jonatan@werpers.com>
parents: 1278
diff changeset
73 @test boundary_grid(g, Lower()) == ZeroDimGrid(0.0)
1261
a4834779cd6d Fix broken boundary_grid tests for equidistant grids
Jonatan Werpers <jonatan@werpers.com>
parents: 1259
diff changeset
74 @test boundary_grid(g, Upper()) == ZeroDimGrid(1.0)
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
75 end
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
76
1462
05eb8ba149e2 Implement boundary_indices for EquidistantGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1437
diff changeset
77 @testset "boundary_indices" begin
05eb8ba149e2 Implement boundary_indices for EquidistantGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1437
diff changeset
78 g = EquidistantGrid(0:0.1:1)
1464
37cf9f79caa4 Make boundary_indices for EquidistantGrid return a tuple to be more concistent with how TensorGrid will implement it
Jonatan Werpers <jonatan@werpers.com>
parents: 1462
diff changeset
79 @test boundary_indices(g, Lower()) == (1,)
37cf9f79caa4 Make boundary_indices for EquidistantGrid return a tuple to be more concistent with how TensorGrid will implement it
Jonatan Werpers <jonatan@werpers.com>
parents: 1462
diff changeset
80 @test boundary_indices(g, Upper()) == (11,)
1462
05eb8ba149e2 Implement boundary_indices for EquidistantGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1437
diff changeset
81
05eb8ba149e2 Implement boundary_indices for EquidistantGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1437
diff changeset
82 g = EquidistantGrid(2:0.1:10)
1464
37cf9f79caa4 Make boundary_indices for EquidistantGrid return a tuple to be more concistent with how TensorGrid will implement it
Jonatan Werpers <jonatan@werpers.com>
parents: 1462
diff changeset
83 @test boundary_indices(g, Lower()) == (1,)
37cf9f79caa4 Make boundary_indices for EquidistantGrid return a tuple to be more concistent with how TensorGrid will implement it
Jonatan Werpers <jonatan@werpers.com>
parents: 1462
diff changeset
84 @test boundary_indices(g, Upper()) == (81,)
1462
05eb8ba149e2 Implement boundary_indices for EquidistantGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1437
diff changeset
85
05eb8ba149e2 Implement boundary_indices for EquidistantGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1437
diff changeset
86 end
05eb8ba149e2 Implement boundary_indices for EquidistantGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1437
diff changeset
87
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
88 @testset "refine" begin
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
89 g = EquidistantGrid(0:0.1:1)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
90 @test refine(g, 1) == g
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
91 @test refine(g, 2) == EquidistantGrid(0:0.05:1)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
92 @test refine(g, 3) == EquidistantGrid(0:(0.1/3):1)
405
16dc5b19843d Fix exception handling in constructor of EquidistantGrid and add a bunch of tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 358
diff changeset
93 end
16dc5b19843d Fix exception handling in constructor of EquidistantGrid and add a bunch of tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 358
diff changeset
94
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
95 @testset "coarsen" begin
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
96 g = EquidistantGrid(0:1:10)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
97 @test coarsen(g, 1) == g
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
98 @test coarsen(g, 2) == EquidistantGrid(0:2:10)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
99
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
100 g = EquidistantGrid(0:0.1:1)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
101 @test coarsen(g, 1) == g
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
102 @test coarsen(g, 2) == EquidistantGrid(0:0.2:1)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
103
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
104 g = EquidistantGrid(0:10)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
105 @test coarsen(g, 1) == EquidistantGrid(0:1:10)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
106 @test coarsen(g, 2) == EquidistantGrid(0:2:10)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
107
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
108 @test_throws DomainError(3, "Size minus 1 must be divisible by the ratio.") coarsen(g, 3)
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
109 end
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
110 end
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
111
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
112
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
113 @testset "equidistant_grid" begin
1529
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
114 @test equidistant_grid(0.0,1.0, 4) isa EquidistantGrid
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
115 @test equidistant_grid((0.0,0.0),(8.0,5.0), 4, 3) isa TensorGrid
1687
3ac94e8f28b3 Allow calling equidistant_grid with tuples of lenght 1
Jonatan Werpers <jonatan@werpers.com>
parents: 1646
diff changeset
116 @test equidistant_grid((0.0,),(8.0,), 4) isa TensorGrid
1282
11b08b242e48 Make equdistant_grid return an EquidistantGrid for the 1d Case
Jonatan Werpers <jonatan@werpers.com>
parents: 1279
diff changeset
117
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
118 # constuctor
1529
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
119 @test_throws DomainError equidistant_grid(0.0, 1.0, 0)
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
120 @test_throws DomainError equidistant_grid(1.0, 1.0, 1)
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
121 @test_throws DomainError equidistant_grid(1.0, -1.0, 1)
1282
11b08b242e48 Make equdistant_grid return an EquidistantGrid for the 1d Case
Jonatan Werpers <jonatan@werpers.com>
parents: 1279
diff changeset
122
1529
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
123 @test_throws DomainError equidistant_grid((0.0,0.0),(1.0,1.0), 0, 0)
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
124 @test_throws DomainError equidistant_grid((1.0,1.0),(1.0,1.0), 1, 1)
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
125 @test_throws DomainError equidistant_grid((1.0,1.0),(-1.0,-1.0), 1, 1)
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
126
1575
efe1fc4cb6b0 Improve error message when giving arguments of different length to equidistant_grid()
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
127 @test_throws ArgumentError equidistant_grid((0.0,),(8.0,5.0), 4, 3, 4)
efe1fc4cb6b0 Improve error message when giving arguments of different length to equidistant_grid()
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
128
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
129 @testset "Base" begin
1529
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
130 @test eltype(equidistant_grid(0.0, 1.0, 4)) == Float64
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
131 @test eltype(equidistant_grid((0,0),(1,3), 4, 3)) <: AbstractVector{Float64}
1437
e3a80ef08d09 Implement size(g,d) for EquidistantGrid and TensorGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1414
diff changeset
132
1529
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
133 @test size(equidistant_grid(0.0, 1.0, 4)) == (4,)
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
134 @test size(equidistant_grid((0.0,0.0), (2.0,1.0), 5, 3)) == (5,3)
1437
e3a80ef08d09 Implement size(g,d) for EquidistantGrid and TensorGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1414
diff changeset
135
1529
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
136 @test size(equidistant_grid((0.0,0.0), (2.0,1.0), 5, 3), 1) == 5
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
137 @test size(equidistant_grid((0.0,0.0), (2.0,1.0), 5, 3), 2) == 3
1437
e3a80ef08d09 Implement size(g,d) for EquidistantGrid and TensorGrid
Jonatan Werpers <jonatan@werpers.com>
parents: 1414
diff changeset
138
1529
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
139 @test ndims(equidistant_grid(0.0, 1.0, 4)) == 1
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
140 @test ndims(equidistant_grid((0.0,0.0), (2.0,1.0), 5, 3)) == 2
1252
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
141 end
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
142
c150eabaf656 Fix or mark tests broken where needed
Jonatan Werpers <jonatan@werpers.com>
parents: 1146
diff changeset
143 @testset "getindex" begin
1529
43aaf710463e Change to signature of equidistant_grid to same style as many array methods.
Jonatan Werpers <jonatan@werpers.com>
parents: 1464
diff changeset
144 g = equidistant_grid((-1.0,0.0), (0.0,7.11), 5, 3)
1267
30729cba1095 Fix some broken tests in equidistant_grid_test.jl
Jonatan Werpers <jonatan@werpers.com>
parents: 1261
diff changeset
145 gp = collect(g);
1125
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
146 p = [(-1.,0.) (-1.,7.11/2) (-1.,7.11);
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
147 (-0.75,0.) (-0.75,7.11/2) (-0.75,7.11);
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
148 (-0.5,0.) (-0.5,7.11/2) (-0.5,7.11);
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
149 (-0.25,0.) (-0.25,7.11/2) (-0.25,7.11);
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
150 (0.,0.) (0.,7.11/2) (0.,7.11)]
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
151 for i ∈ eachindex(gp)
1267
30729cba1095 Fix some broken tests in equidistant_grid_test.jl
Jonatan Werpers <jonatan@werpers.com>
parents: 1261
diff changeset
152 @test [gp[i]...] ≈ [p[i]...] atol=5e-13
1125
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
153 end
b9c6b0d8f0fa Add testsets to existing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1116
diff changeset
154 end
1565
c3425b4302b8 Add equidistant_grid method for HyperBox
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
155
c3425b4302b8 Add equidistant_grid method for HyperBox
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
156
c3425b4302b8 Add equidistant_grid method for HyperBox
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
157 @testset "equidistant_grid(::ParameterSpace)" begin
c3425b4302b8 Add equidistant_grid method for HyperBox
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
158 ps = HyperBox((0,0),(2,1))
c3425b4302b8 Add equidistant_grid method for HyperBox
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
159
c3425b4302b8 Add equidistant_grid method for HyperBox
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
160 @test equidistant_grid(ps, 3,4) == equidistant_grid((0,0), (2,1), 3,4)
c3425b4302b8 Add equidistant_grid method for HyperBox
Jonatan Werpers <jonatan@werpers.com>
parents: 1529
diff changeset
161 end
1586
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
162
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
163
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
164 @testset "equidistant_grid(::Chart)" begin
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
165 c = Chart(unitsquare()) do (ξ,η)
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
166 @SVector[2ξ, 3η]
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
167 end
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
168 Grids.jacobian(c::typeof(c), ξ̄) = @SMatrix[2 0; 0 3]
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
169
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
170 @test equidistant_grid(c, 5, 4) isa Grid
d4a6f9effcdd Remove mapped_grid(::Chart) and add equidistant_grid(::Chart)
Jonatan Werpers <jonatan@werpers.com>
parents: 1565
diff changeset
171 end
324
047dee8efaef Grids.EquidistantGrid: Add constructor for 1d grid
Jonatan Werpers <jonatan@werpers.com>
parents: 217
diff changeset
172 end
1276
75a65db29be1 Minor clean up
Jonatan Werpers <jonatan@werpers.com>
parents: 1267
diff changeset
173
75a65db29be1 Minor clean up
Jonatan Werpers <jonatan@werpers.com>
parents: 1267
diff changeset
174
75a65db29be1 Minor clean up
Jonatan Werpers <jonatan@werpers.com>
parents: 1267
diff changeset
175 @testset "change_length" begin
1278
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
176 @test Grids.change_length(0:20, 21) == 0:20
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
177 @test Grids.change_length(0:20, 11) == 0:2:20
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
178 @test Grids.change_length(0:2:20, 21) == 0:20
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
179
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
180 @test Grids.change_length(range(0,1,length=10), 10) == range(0,1,length=10)
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
181 @test Grids.change_length(range(0,1,length=10), 5) == range(0,1,length=5)
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
182 @test Grids.change_length(range(0,1,length=10), 20) == range(0,1,length=20)
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
183
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
184 @test Grids.change_length(LinRange(1,2,10),10) == LinRange(1,2,10)
4a0570f325ce Add tests for change_length
Jonatan Werpers <jonatan@werpers.com>
parents: 1276
diff changeset
185 @test Grids.change_length(LinRange(1,2,10),15) == LinRange(1,2,15)
1276
75a65db29be1 Minor clean up
Jonatan Werpers <jonatan@werpers.com>
parents: 1267
diff changeset
186 end