annotate CellTest.m @ 984:0585a2ee7ee7 feature/timesteppers

Inline the rk.rungekutta_4 function.
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 08 Jan 2019 12:19:33 +0100
parents 2ce903f28193
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
471
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function tests = CellTest()
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 tests = functiontests(localfunctions);
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 end
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
155 end
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
238 end
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
239
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
279 end