Mercurial > repos > public > sbplib
annotate +grid/CartesianTest.m @ 163:51aaf67a7df5 feature/grids
Fixed naming and added functions for converting vectors to matrices for structured grid.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Mon, 22 Feb 2016 13:55:19 +0100 |
parents | c7b2f645101f |
children | ba1ae5b2c45e |
rev | line source |
---|---|
154
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 function tests = CartesianTest() |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 tests = functiontests(localfunctions); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 function testWarningEmptyGrid(testCase) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 in = { |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 {[]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 {[],[1]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 {[1],[2], []}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 }; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 for i = 1:length(in) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 testCase.verifyError(@()grid.Cartesian(in{i}{:}),'grid:Cartesian:EmptyGrid'); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 function testN(testCase) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 in = { |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 {[1 2 3]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 {[1 2 3],[1 2]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 {[1 2 3],[1 2 3]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 {[1 2 3],[1 2 3], [1]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 {[1 2 3],[1 2 3], [1 3 4]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 }; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 out = [3,6,9,9,27]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 for i = 1:length(in) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 g = grid.Cartesian(in{i}{:}); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 testCase.verifyEqual(g.N(),out(i)); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 function testD(testCase) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 in = { |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 {[1 2 3]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 {[1 2 3],[1 2]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
40 {[1 2 3],[1 2 3]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 {[1 2 3],[1 2 3], [1]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
42 {[1 2 3],[1 2 3], [1 3 4]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
43 }; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 out = [1,2,2,3,3]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 for i = 1:length(in) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
48 g = grid.Cartesian(in{i}{:}); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
49 testCase.verifyEqual(g.D(),out(i)); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
50 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 function testPoints(testCase) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
55 in = { |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
56 {[1 2]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
57 {[1 2],[3 4]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
58 {[1 2],[3 4], [5 6]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
59 }; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
60 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 out = { |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 [[1; 2]], |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
63 [[1; 1; 2; 2],[3; 4; 3; 4]], |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
64 [[1; 1; 1; 1; 2; 2; 2; 2],[3; 3; 4; 4; 3; 3; 4; 4],[ 5; 6; 5; 6; 5; 6; 5; 6]], |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
65 }; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
66 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
67 for i = 1:length(in) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
68 g = grid.Cartesian(in{i}{:}); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
69 testCase.verifyEqual(g.points(),out{i}); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
70 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
71 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
72 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
73 function testMatrices(testCase) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
74 in = { |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
75 {[1 2]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
76 {[1 2],[3 4]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
77 {[1 2],[3 4], [5 6]}, |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
78 }; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
79 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
80 out{1}{1} = [1; 2]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
81 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
82 out{2}{1} = [1, 1; 2, 2]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
83 out{2}{2} = [3, 4; 3, 4]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
84 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
85 out{3}{1}(:,:,1) = [1, 1; 2, 2]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
86 out{3}{1}(:,:,2) = [1, 1; 2, 2]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
87 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
88 out{3}{2}(:,:,1) = [3, 4; 3, 4]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
89 out{3}{2}(:,:,2) = [3, 4; 3, 4]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
90 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
91 out{3}{3}(:,:,1) = [5, 5; 5, 5]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
92 out{3}{3}(:,:,2) = [6, 6; 6, 6]; |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
93 |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
94 for i = 1:length(in) |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
95 g = grid.Cartesian(in{i}{:}); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
96 testCase.verifyEqual(g.matrices(),out{i}); |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
97 end |
c7b2f645101f
Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
98 end |