ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/test/math/RectMatrixTestCase.cpp
(Generate patch)

Comparing trunk/OOPSE-3.0/test/math/RectMatrixTestCase.cpp (file contents):
Revision 1571 by tim, Fri Oct 15 15:19:28 2004 UTC vs.
Revision 1644 by tim, Mon Oct 25 22:46:19 2004 UTC

# Line 166 | Line 166 | void RectMatrixTestCase::testConstructor(){
166      tmp4 = tmp4;
167      CPPUNIT_ASSERT(tmp4 == m2);
168      
169 +    double tmp5[4];
170 +    tmp5[0] = 1.0;
171 +    tmp5[1] = 1.0;
172 +    tmp5[2] = 3.0;
173 +    tmp5[3] = 1.0;
174 +
175 +    RMat2x2 tmp6(tmp5);
176 +    CPPUNIT_ASSERT(tmp6 == m1);
177 +  
178      
179   }
180  
# Line 237 | Line 246 | void RectMatrixTestCase::testDiv() {
246  
247      CPPUNIT_ASSERT(m1 / 2.0 * 2.0 == m1);
248  
249 +
250   }
251  
252   void RectMatrixTestCase::testAccessEntries(){
253      CPPUNIT_ASSERT_DOUBLES_EQUAL(m1(1, 0), 3.0, oopse::epsilon);
254   }
255  
256 < void RectMatrixTestCase::testTranspose(){
256 > void RectMatrixTestCase::testRowColOperations() {
257 >    Vec3 row;
258 >    Vec3 col;
259 >    RMat3x3 m;
260 >    
261 >    //test getRow
262 >    row = e.getRow(0);
263 >    CPPUNIT_ASSERT_DOUBLES_EQUAL(row[0], 2.0, oopse::epsilon);
264 >    CPPUNIT_ASSERT_DOUBLES_EQUAL(row[1], 4.0, oopse::epsilon);
265 >    CPPUNIT_ASSERT_DOUBLES_EQUAL(row[2], 1.0, oopse::epsilon);
266 >    //test setRow
267 >    row[0] = 2.0;    
268 >    row[1] = 4.0;    
269 >    row[2] = 1.0;    
270 >    m.setRow(0, row);
271 >    row[0] = 0.0;    
272 >    row[1] = 0.0;    
273 >    row[2] = 3.0;    
274 >    m.setRow(1, row);
275 >    row[0] = 0.0;    
276 >    row[1] = 6.0;    
277 >    row[2] = 5.0;    
278 >    m.setRow(2, row);
279 >    CPPUNIT_ASSERT(m == e);
280 >    
281 >    //test getCol
282 >    col = e.getColum(1);
283 >    CPPUNIT_ASSERT_DOUBLES_EQUAL(col[0], 4.0, oopse::epsilon);    
284 >    CPPUNIT_ASSERT_DOUBLES_EQUAL(col[1], 0.0, oopse::epsilon);
285 >    CPPUNIT_ASSERT_DOUBLES_EQUAL(col[2], 6.0, oopse::epsilon);
286 >    //test setCol
287 >    col[0] = 2.0;    
288 >    col[1] = 0.0;    
289 >    col[2] = 0.0;    
290 >    m.setColum(0, col);
291 >    col[0] = 4.0;    
292 >    col[1] = 0.0;    
293 >    col[2] = 6.0;    
294 >    m.setColum(1, col);
295 >    col[0] = 1.0;    
296 >    col[1] = 3.0;    
297 >    col[2] = 5.0;    
298 >    m.setColum(2, col);
299 >    CPPUNIT_ASSERT(m == e);
300  
301 +    //test swapRow
302 +    RMat2x3 r;
303 +    r(0, 0) = 0.0;
304 +    r(0, 1) = 1.0;
305 +    r(0, 2) = 0.0;
306 +    r(1, 0) = 1.0;
307 +    r(1, 1) = 0.0;
308 +    r(1, 2) = 0.0;
309 +    r.swapRow(0, 1);
310 +    CPPUNIT_ASSERT(r == a);
311 +
312 +    //test swapCol
313 +    RMat3x3 s;
314 +    s(0, 0) = 4.0;
315 +    s(0, 1) = 2.0;
316 +    s(0, 2) = 1.0;
317 +    s(1, 0) = 0.0;    
318 +    s(1, 1) = 0.0;
319 +    s(1, 2) = 3.0;    
320 +    s(2, 0) = 6.0;
321 +    s(2, 1) = 0.0;
322 +    s(2, 2) = 5.0;
323 +
324 +    s.swapColum(0, 1);
325 +    CPPUNIT_ASSERT(s == e);
326 +
327 +    double* p = s.getArrayPointer();
328 +
329 +    p[0] = 2.0;
330 +    p[1] = 4.0;
331 +    p[2] = 1.0;
332 +    p[3] = 0.0;
333 +    p[4] = 6.0;
334 +    p[5] = 5.0;    
335 +    p[6] = 0.0;
336 +    p[7] = 0.0;
337 +    p[8] = 3.0;  
338 +
339 +    CPPUNIT_ASSERT(s == f);    
340 + }    
341 +
342 + void RectMatrixTestCase::testOtherMemberFunctions(){
343 +    //test transpose
344      CPPUNIT_ASSERT((a.transpose()).transpose() == a);
345      
346      CPPUNIT_ASSERT(a.transpose() == b);
347 +
348 +    //test getArray
349 +
350 +    double tmp[4];
351 +    m4.getArray(tmp);
352 +    CPPUNIT_ASSERT_DOUBLES_EQUAL(tmp[0], -1.0, oopse::epsilon);    
353 +    CPPUNIT_ASSERT_DOUBLES_EQUAL(tmp[1], -1.0, oopse::epsilon);
354 +    CPPUNIT_ASSERT_DOUBLES_EQUAL(tmp[2], -3.0, oopse::epsilon);    
355 +    CPPUNIT_ASSERT_DOUBLES_EQUAL(tmp[3], -1.0, oopse::epsilon);    
356 +    
357   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines