Mercurial > repos > public > sbplib
annotate CellTest.m @ 1037:2d7ba44340d0 feature/burgers1d
Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 18 Jan 2019 09:02:02 +0100 |
parents | 2ce903f28193 |
children |
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 |
580
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
39 function testIsEmpty(testCase) |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
40 cases = { |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
41 {cell(0,0), true}, |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
42 {cell(1,0), true}, |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
43 {cell(0,1), true}, |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
44 {cell(1,1), false}, |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
45 }; |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
46 |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
47 for i = 1:length(cases) |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
48 A = Cell(cases{i}{1}); |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
49 expected = cases{i}{2}; |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
50 testCase.verifyEqual(isempty(A),expected); |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
51 end |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
52 end |
2ce903f28193
Make Cell class work with isempty()
Jonatan Werpers <jonatan@werpers.com>
parents:
484
diff
changeset
|
53 |
476
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
54 function testTranspose(testCase) |
478
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
55 testCase.verifyEqual(Cell({1i, 2}).', Cell({1i; 2})); |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
56 testCase.verifyEqual(Cell({1i; 2}).', Cell({1i, 2})); |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
57 end |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
58 |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
59 function testCtranspose(testCase) |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
60 testCase.verifyEqual(Cell({1i, 2})', Cell({1i; 2})); |
d91f27460741
Implement size, length and transpose
Jonatan Werpers <jonatan@werpers.com>
parents:
477
diff
changeset
|
61 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
|
62 end |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
63 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
64 function testRoundIndexWithProperty(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
65 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
|
66 |
481
970f1df2bfcf
Implement handeling of stacked indexing
Jonatan Werpers <jonatan@werpers.com>
parents:
479
diff
changeset
|
67 result = A([1,3]).data; |
970f1df2bfcf
Implement handeling of stacked indexing
Jonatan Werpers <jonatan@werpers.com>
parents:
479
diff
changeset
|
68 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
|
69 end |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
70 |
484
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
71 function testSubAssignmentRound(testCase) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
72 cases = { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
73 % { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
74 % lArray, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
75 % index, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
76 % rhs, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
77 % expectedResult |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
78 % }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
79 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
80 {}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
81 1, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
82 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
83 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
84 }, |
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}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
87 1, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
88 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
89 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
90 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
91 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
92 {1,2,3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
93 2, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
94 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
95 {1,'a',3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
96 }, |
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 {1,2,3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
99 2, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
100 [], |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
101 {1,3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
102 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
103 }; |
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 for i = 1:length(cases) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
106 lArray = Cell(cases{i}{1}); |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
107 index = cases{i}{2}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
108 rhs = cases{i}{3}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
109 expectedResult = cases{i}{4}; |
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 lArray(index) = rhs; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
112 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
113 testCase.verifyEqual(lArray.data, expectedResult) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
114 end |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
115 end |
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 function testSubAssignmentCurly(testCase) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
118 cases = { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
119 % { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
120 % lArray, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
121 % index, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
122 % rhs, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
123 % expectedResult |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
124 % }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
125 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
126 {}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
127 1, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
128 'a', |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
129 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
130 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
131 { |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
132 {1}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
133 1, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
134 'a', |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
135 {'a'}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
136 }, |
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 {1,2,3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
139 2, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
140 'a', |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
141 {1,'a',3}, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
142 }, |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
143 }; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
144 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
145 for i = 1:length(cases) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
146 lArray = Cell(cases{i}{1}); |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
147 index = cases{i}{2}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
148 rhs = cases{i}{3}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
149 expectedResult = cases{i}{4}; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
150 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
151 lArray{index} = rhs; |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
152 |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
153 testCase.verifyEqual(lArray.data, expectedResult) |
da7df0c9af05
Implement tests for subscript assignment
Jonatan Werpers <jonatan@werpers.com>
parents:
481
diff
changeset
|
154 end |
471 | 155 end |
156 | |
476
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
157 function testIndexreferenceRound(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
158 cases = { |
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 % array, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
161 % index, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
162 % roundResult |
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 {1,2,3}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
166 1, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
167 {1}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
168 }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
169 { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
170 {1,3,2}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
171 2, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
172 {3}, |
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 { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
175 {1,3,2}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
176 [1 3], |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
177 {1, 2}, |
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 }; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
180 |
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 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
|
183 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
|
184 index = cases{i}{2}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
185 expected = cases{i}{3}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
186 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
187 result = array(index); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
188 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
189 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
|
190 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
|
191 end |
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 testEndIndexing(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
195 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
|
196 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
197 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
|
198 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
|
199 end |
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 function testColonIndexing(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
202 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
|
203 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
|
204 |
479
c5705458beb1
Implement end function and fix test for colon indexing
Jonatan Werpers <jonatan@werpers.com>
parents:
478
diff
changeset
|
205 testCase.verifyEqual(C(:), D); |
c5705458beb1
Implement end function and fix test for colon indexing
Jonatan Werpers <jonatan@werpers.com>
parents:
478
diff
changeset
|
206 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
|
207 end |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
208 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
209 function testIndexreferenceCurly(testCase) |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
210 cases = { |
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 % array, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
213 % index, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
214 % curlyResult |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
215 % }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
216 { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
217 {1,2,3}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
218 1, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
219 1 |
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 { |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
222 {1,3,2}, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
223 2, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
224 3 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
225 }, |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
226 }; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
227 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
228 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
229 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
|
230 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
|
231 index = cases{i}{2}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
232 expected = cases{i}{3}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
233 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
234 result = array{index}; |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
235 |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
236 testCase.verifyEqual(result, expected); |
949ffe238f61
Implement tests for round and curly indexing, add more stubs
Jonatan Werpers <jonatan@werpers.com>
parents:
475
diff
changeset
|
237 end |
471 | 238 end |
239 | |
240 function testConcat(testCase) | |
474
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
241 cases = { |
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 {{1},{}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
244 {{},{1}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
245 {{1},{2}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
246 {{1, 2},{3, 4}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
247 {{1; 2},{3; 4}}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
248 }; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
249 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
250 horzCat = { |
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 {1}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
253 {1}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
254 {1,2}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
255 {1, 2, 3, 4}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
256 {1, 3; 2, 4}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
257 }; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
258 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
259 vertCat = { |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
260 {}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
261 {1}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
262 {1}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
263 {1; 2}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
264 {1, 2; 3, 4}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
265 {1; 2; 3; 4}, |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
266 }; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
267 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
268 for i = 1:length(cases) |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
269 A = Cell(cases{i}{1}); |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
270 B = Cell(cases{i}{2}); |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
271 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
272 C_horz = [A, B]; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
273 C_vert = [A; B]; |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
274 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
275 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
|
276 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
|
277 |
c91464ef1dd9
Implement tests for horzcat and vertcat. Fix bugs found
Jonatan Werpers <jonatan@werpers.com>
parents:
471
diff
changeset
|
278 end |
471 | 279 end |