annotate CellTest.m @ 696:7c16b5af8d98 feature/quantumTriangles

Add Jonatans symbolic lifehax
author Ylva Rydin <ylva.rydin@telia.com>
date Thu, 05 Oct 2017 18:04:23 +0200
parents da7df0c9af05
children 2ce903f28193
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
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
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
140 end
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
223 end
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
224
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
c78249d8e915 Add test stubs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
264 end