Mercurial > repos > public > sbplib
annotate CellTest.m @ 577:e45c9b56d50d feature/grids
Add an Empty grid class
The need turned up for the flexural code when we may or may not have a grid for the open water and want to plot that solution.
In case there is no open water we need an empty grid to plot the empty gridfunction against to avoid errors.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 07 Sep 2017 09:16:12 +0200 |
parents | da7df0c9af05 |
children | 2ce903f28193 |
rev | line source |
---|---|
471 | 1 function tests = CellTest() |
2 tests = functiontests(localfunctions); | |
3 end | |
4 | |
475
e0e81e7df671
Add test stubs for size and length
Jonatan Werpers <jonatan@werpers.com>
parents:
474
diff
changeset
|
5 function testSize(testCase) |
477
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
6 cases = { |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
7 {{}, [0, 0]}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
8 {{1}, [1, 1]}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
9 {{1, 2}, [1, 2]}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
10 {{1; 2}, [2, 1]}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
11 {{1, 2; 3, 4}, [2,2]}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
12 }; |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
13 |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
14 for i = 1:length(cases) |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
15 A = Cell(cases{i}{1}); |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
16 expected = cases{i}{2}; |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
17 |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
18 testCase.verifyEqual(size(A),expected); |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
19 end |
475
e0e81e7df671
Add test stubs for size and length
Jonatan Werpers <jonatan@werpers.com>
parents:
474
diff
changeset
|
20 end |
e0e81e7df671
Add test stubs for size and length
Jonatan Werpers <jonatan@werpers.com>
parents:
474
diff
changeset
|
21 |
e0e81e7df671
Add test stubs for size and length
Jonatan Werpers <jonatan@werpers.com>
parents:
474
diff
changeset
|
22 function testLength(testCase) |
477
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
23 cases = { |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
24 {{}, 0}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
25 {{1}, 1}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
26 {{1, 2}, 2}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
27 {{1; 2}, 2}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
28 {{1, 2; 3, 4}, 2}, |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
29 }; |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
30 |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
31 for i = 1:length(cases) |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
32 A = Cell(cases{i}{1}); |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
33 expected = cases{i}{2}; |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
34 |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
35 testCase.verifyEqual(length(A),expected); |
97c505c87f56
Implement tests for size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
476
diff
changeset
|
36 end |
475
e0e81e7df671
Add test stubs for size and length
Jonatan Werpers <jonatan@werpers.com>
parents:
474
diff
changeset
|
37 end |
e0e81e7df671
Add test stubs for size and length
Jonatan Werpers <jonatan@werpers.com>
parents:
474
diff
changeset
|
38 |
476
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
39 function testTranspose(testCase) |
478
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
40 testCase.verifyEqual(Cell({1i, 2}).', Cell({1i; 2})); |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
41 testCase.verifyEqual(Cell({1i; 2}).', Cell({1i, 2})); |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
42 end |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
43 |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
44 function testCtranspose(testCase) |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
45 testCase.verifyEqual(Cell({1i, 2})', Cell({1i; 2})); |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
46 testCase.verifyEqual(Cell({1i; 2})', Cell({1i, 2})); |
476
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
47 end |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
48 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
49 function testRoundIndexWithProperty(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
50 A = Cell({3,2,1}); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
51 |
481
970f1df2bfcf
Implement handeling of stacked indexing
Jonatan Werpers <jonatan@werpers.com>
parents:
479
diff
changeset
|
52 result = A([1,3]).data; |
970f1df2bfcf
Implement handeling of stacked indexing
Jonatan Werpers <jonatan@werpers.com>
parents:
479
diff
changeset
|
53 testCase.verifyEqual(result, {3, 1}); |
476
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
54 end |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
55 |
484
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
56 function testSubAssignmentRound(testCase) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
57 cases = { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
58 % { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
59 % lArray, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
60 % index, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
61 % rhs, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
62 % expectedResult |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
63 % }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
64 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
65 {}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
66 1, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
67 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
68 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
69 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
70 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
71 {1}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
72 1, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
73 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
74 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
75 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
76 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
77 {1,2,3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
78 2, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
79 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
80 {1,'a',3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
81 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
82 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
83 {1,2,3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
84 2, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
85 [], |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
86 {1,3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
87 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
88 }; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
89 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
90 for i = 1:length(cases) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
91 lArray = Cell(cases{i}{1}); |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
92 index = cases{i}{2}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
93 rhs = cases{i}{3}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
94 expectedResult = cases{i}{4}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
95 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
96 lArray(index) = rhs; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
97 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
98 testCase.verifyEqual(lArray.data, expectedResult) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
99 end |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
100 end |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
101 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
102 function testSubAssignmentCurly(testCase) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
103 cases = { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
104 % { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
105 % lArray, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
106 % index, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
107 % rhs, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
108 % expectedResult |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
109 % }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
110 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
111 {}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
112 1, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
113 'a', |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
114 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
115 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
116 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
117 {1}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
118 1, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
119 'a', |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
120 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
121 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
122 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
123 {1,2,3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
124 2, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
125 'a', |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
126 {1,'a',3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
127 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
128 }; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
129 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
130 for i = 1:length(cases) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
131 lArray = Cell(cases{i}{1}); |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
132 index = cases{i}{2}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
133 rhs = cases{i}{3}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
134 expectedResult = cases{i}{4}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
135 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
136 lArray{index} = rhs; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
137 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
138 testCase.verifyEqual(lArray.data, expectedResult) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
139 end |
471 | 140 end |
141 | |
476
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
142 function testIndexreferenceRound(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
143 cases = { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
144 % { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
145 % array, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
146 % index, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
147 % roundResult |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
148 % }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
149 { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
150 {1,2,3}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
151 1, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
152 {1}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
153 }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
154 { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
155 {1,3,2}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
156 2, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
157 {3}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
158 }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
159 { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
160 {1,3,2}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
161 [1 3], |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
162 {1, 2}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
163 }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
164 }; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
165 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
166 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
167 for i = 1:length(cases) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
168 array = Cell(cases{i}{1}); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
169 index = cases{i}{2}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
170 expected = cases{i}{3}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
171 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
172 result = array(index); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
173 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
174 testCase.verifyTrue(isa(result, 'Cell')); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
175 testCase.verifyEqual(result.data, expected); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
176 end |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
177 end |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
178 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
179 function testEndIndexing(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
180 C = Cell({1,2,3}); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
181 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
182 testCase.verifyEqual(C(end), Cell({3})); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
183 testCase.verifyEqual(C{end}, 3); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
184 end |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
185 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
186 function testColonIndexing(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
187 C = Cell({1, 2, 3}); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
188 D = Cell({1; 2; 3}); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
189 |
479
c5705458beb1
Implement end function and fix test for colon indexing
Jonatan Werpers <jonatan@werpers.com>
parents:
478
diff
changeset
|
190 testCase.verifyEqual(C(:), D); |
c5705458beb1
Implement end function and fix test for colon indexing
Jonatan Werpers <jonatan@werpers.com>
parents:
478
diff
changeset
|
191 testCase.verifyEqual(D(:), D); |
476
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
192 end |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
193 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
194 function testIndexreferenceCurly(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
195 cases = { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
196 % { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
197 % array, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
198 % index, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
199 % curlyResult |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
200 % }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
201 { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
202 {1,2,3}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
203 1, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
204 1 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
205 }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
206 { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
207 {1,3,2}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
208 2, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
209 3 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
210 }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
211 }; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
212 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
213 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
214 for i = 1:length(cases) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
215 array = Cell(cases{i}{1}); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
216 index = cases{i}{2}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
217 expected = cases{i}{3}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
218 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
219 result = array{index}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
220 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
221 testCase.verifyEqual(result, expected); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
222 end |
471 | 223 end |
224 | |
225 function testConcat(testCase) | |
474
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
226 cases = { |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
227 {{},{}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
228 {{1},{}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
229 {{},{1}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
230 {{1},{2}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
231 {{1, 2},{3, 4}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
232 {{1; 2},{3; 4}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
233 }; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
234 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
235 horzCat = { |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
236 {}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
237 {1}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
238 {1}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
239 {1,2}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
240 {1, 2, 3, 4}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
241 {1, 3; 2, 4}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
242 }; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
243 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
244 vertCat = { |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
245 {}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
246 {1}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
247 {1}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
248 {1; 2}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
249 {1, 2; 3, 4}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
250 {1; 2; 3; 4}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
251 }; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
252 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
253 for i = 1:length(cases) |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
254 A = Cell(cases{i}{1}); |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
255 B = Cell(cases{i}{2}); |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
256 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
257 C_horz = [A, B]; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
258 C_vert = [A; B]; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
259 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
260 testCase.verifyEqual(C_horz.data, horzCat{i}); |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
261 testCase.verifyEqual(C_vert.data, vertCat{i}); |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
262 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
263 end |
471 | 264 end |