# | Line 55 | Line 55 | void RectMatrixTestCase::setUp(){ | |
---|---|---|
55 | b(2, 0) = 0.0; | |
56 | b(2, 1) = 0.0; | |
57 | ||
58 | < | |
58 | > | c(0, 0) = 1.0; |
59 | > | c(0, 1) = 0.0; |
60 | > | c(1, 0) = 0.0; |
61 | > | c(1, 1) = 1.0; |
62 | > | |
63 | > | d(0, 0) = 1.0; |
64 | > | d(0, 1) = 0.0; |
65 | > | d(0, 2) = 0.0; |
66 | > | d(1, 0) = 0.0; |
67 | > | d(1, 1) = 0.0; |
68 | > | d(1, 2) = 1.0; |
69 | > | d(2, 0) = 0.0; |
70 | > | d(2, 1) = 1.0; |
71 | > | d(2, 2) = 0.0; |
72 | > | |
73 | > | e(0, 0) = 2.0; |
74 | > | e(0, 1) = 4.0; |
75 | > | e(0, 2) = 1.0; |
76 | > | e(1, 0) = 0.0; |
77 | > | e(1, 1) = 0.0; |
78 | > | e(1, 2) = 3.0; |
79 | > | e(2, 0) = 0.0; |
80 | > | e(2, 1) = 6.0; |
81 | > | e(2, 2) = 5.0; |
82 | > | |
83 | > | f(0, 0) = 2.0; |
84 | > | f(0, 1) = 4.0; |
85 | > | f(0, 2) = 1.0; |
86 | > | f(1, 0) = 0.0; |
87 | > | f(1, 1) = 6.0; |
88 | > | f(1, 2) = 5.0; |
89 | > | f(2, 0) = 0.0; |
90 | > | f(2, 1) = 0.0; |
91 | > | f(2, 2) = 3.0; |
92 | > | |
93 | > | f(0, 0) = 2.0; |
94 | > | f(0, 1) = 4.0; |
95 | > | f(0, 2) = 1.0; |
96 | > | f(1, 0) = 0.0; |
97 | > | f(1, 1) = 6.0; |
98 | > | f(1, 2) = 5.0; |
99 | > | f(2, 0) = 0.0; |
100 | > | f(2, 1) = 0.0; |
101 | > | f(2, 2) = 3.0; |
102 | > | |
103 | > | g(0, 0) = 1.0; |
104 | > | g(0, 1) = 0.0; |
105 | > | g(0, 2) = 0.0; |
106 | > | g(1, 0) = -2.0; |
107 | > | g(1, 1) = 1.0; |
108 | > | g(1, 2) = 0.0; |
109 | > | g(2, 0) = 0.0; |
110 | > | g(2, 1) = 0.0; |
111 | > | g(2, 2) = 1.0; |
112 | > | |
113 | > | h(0, 0) = 2.0; |
114 | > | h(0, 1) = 4.0; |
115 | > | h(0, 2) = -2.0; |
116 | > | h(0, 3) = 2.0; |
117 | > | h(1, 0) = 4.0; |
118 | > | h(1, 1) = 9.0; |
119 | > | h(1, 2) = -3.0; |
120 | > | h(1, 3) = 8.0; |
121 | > | h(2, 0) = -2.0; |
122 | > | h(2, 1) = -3.0; |
123 | > | h(2, 2) = 7.0; |
124 | > | h(2, 3) = 10.0; |
125 | > | |
126 | > | i(0, 0) = 2.0; |
127 | > | i(0, 1) = 4.0; |
128 | > | i(0, 2) = -2.0; |
129 | > | i(0, 3) = 2.0; |
130 | > | i(1, 0) = 0.0; |
131 | > | i(1, 1) = 1.0; |
132 | > | i(1, 2) = 1.0; |
133 | > | i(1, 3) = 4.0; |
134 | > | i(2, 0) = -2.0; |
135 | > | i(2, 1) = -3.0; |
136 | > | i(2, 2) = 7.0; |
137 | > | i(2, 3) = 10.0; |
138 | > | |
139 | > | |
140 | > | v1(0) = 2.0; |
141 | > | v1(1) = 4.0; |
142 | > | v1(2) = -2.0; |
143 | > | |
144 | > | v2(0) = 2.0; |
145 | > | v2(1) = 0.0; |
146 | > | v2(2) = -2.0; |
147 | > | |
148 | } | |
149 | ||
150 | void RectMatrixTestCase::testConstructor(){ | |
# | Line 82 | Line 171 | void RectMatrixTestCase::testEqual() { | |
171 | ||
172 | void RectMatrixTestCase::testEqual() { | |
173 | CPPUNIT_ASSERT(m2 == m3); | |
174 | + | CPPUNIT_ASSERT(m2 != m3); |
175 | + | |
176 | } | |
177 | ||
178 | void RectMatrixTestCase::testNegate() { | |
# | Line 129 | Line 220 | void RectMatrixTestCase::testMul() { | |
220 | CPPUNIT_ASSERT(m1 * 1.0 == m1); | |
221 | CPPUNIT_ASSERT(m1 * 0.0 == zero); | |
222 | CPPUNIT_ASSERT(2.0 *m1 == m1 + m1); | |
223 | < | |
223 | > | |
224 | > | //test matrix multiplication |
225 | > | CPPUNIT_ASSERT(a * b == c); |
226 | > | CPPUNIT_ASSERT(d * e == f); |
227 | > | CPPUNIT_ASSERT(g * h == i); |
228 | > | |
229 | > | //test matrix vector multiplication |
230 | > | CPPUNIT_ASSERT(g * v1 == v2); |
231 | > | |
232 | } | |
233 | ||
234 | void RectMatrixTestCase::testDiv() { | |
# | Line 141 | Line 240 | void RectMatrixTestCase::testAccessEntries(){ | |
240 | } | |
241 | ||
242 | void RectMatrixTestCase::testAccessEntries(){ | |
243 | < | CPPUNIT_ASSERT(m1(1, 0) == 3.0); |
243 | > | CPPUNIT_ASSERT_DOUBLES_EQUAL(m1(1, 0), 3.0, oopse::epsilon); |
244 | } | |
245 | ||
246 | < | void RectMatrixTestCase::testTranspose(){ |
246 | > | void RectMatrixTestCase::testRowColOperations() { |
247 | > | Vec3 row; |
248 | > | Vec3 col; |
249 | > | RMat3x3 m; |
250 | > | |
251 | > | //test getRow |
252 | > | row = e.getRow(0); |
253 | > | CPPUNIT_ASSERT(row[0] == 2.0 && row[1] == 4.0 && row[2] == 1.0); |
254 | ||
255 | + | //test setRow |
256 | + | row[0] = 2.0; |
257 | + | row[1] = 4.0; |
258 | + | row[2] = 1.0; |
259 | + | m.setRow(0, row); |
260 | + | row[0] = 0.0; |
261 | + | row[1] = 0.0; |
262 | + | row[2] = 3.0; |
263 | + | m.setRow(1, row); |
264 | + | row[0] = 0.0; |
265 | + | row[1] = 6.0; |
266 | + | row[2] = 5.0; |
267 | + | m.setRow(2, row); |
268 | + | CPPUNIT_ASSERT(m == e); |
269 | + | |
270 | + | //test getCol |
271 | + | col = e.getCol(1); |
272 | + | CPPUNIT_ASSERT(col[0] == 4.0 && col[1] == 0.0 && col[2] == 6.0); |
273 | + | |
274 | + | //test setCol |
275 | + | col[0] = 2.0; |
276 | + | col[1] = 0.0; |
277 | + | col[2] = 0.0; |
278 | + | m.setColum(0, col); |
279 | + | col[0] = 4.0; |
280 | + | col[1] = 0.0; |
281 | + | col[2] = 6.0; |
282 | + | m.setColum(1, col); |
283 | + | col[0] = 1.0; |
284 | + | col[1] = 3.0; |
285 | + | col[2] = 5.0; |
286 | + | m.setColum(2, col); |
287 | + | CPPUNIT_ASSERT(m == e); |
288 | + | |
289 | + | //test swapRow |
290 | + | RMat2x3 r; |
291 | + | r(0, 0) = 0.0; |
292 | + | r(0, 1) = 1.0; |
293 | + | r(0, 2) = 0.0; |
294 | + | r(1, 0) = 1.0; |
295 | + | r(1, 1) = 0.0; |
296 | + | r(1, 2) = 0.0; |
297 | + | r.swapRow(0, 1); |
298 | + | CPPUNIT_ASSERT(r == a); |
299 | + | |
300 | + | //test swapCol |
301 | + | RMat3x3 s; |
302 | + | s(0, 0) = 4.0; |
303 | + | s(0, 1) = 2.0; |
304 | + | s(0, 2) = 1.0; |
305 | + | s(1, 0) = 0.0; |
306 | + | s(1, 1) = 0.0; |
307 | + | s(1, 2) = 3.0; |
308 | + | s(2, 0) = 6.0; |
309 | + | s(2, 1) = 0.0; |
310 | + | s(2, 2) = 5.0; |
311 | + | |
312 | + | s.swapColum(0, 1); |
313 | + | CPPUNIT_ASSERT(s == e); |
314 | + | |
315 | + | } |
316 | + | |
317 | + | void RectMatrixTestCase::testOtherMemberFunctions(){ |
318 | + | //test transpose |
319 | CPPUNIT_ASSERT((a.transpose()).transpose() == a); | |
320 | ||
321 | CPPUNIT_ASSERT(a.transpose() == b); |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |