ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/test/math/RectMatrixTestCase.cpp
Revision: 1565
Committed: Wed Oct 13 22:27:58 2004 UTC (19 years, 8 months ago) by tim
File size: 2622 byte(s)
Log Message:
adding testing unit

File Contents

# Content
1 #include "RectMatrixTestCase.hpp"
2
3 // Registers the fixture into the 'registry'
4 CPPUNIT_TEST_SUITE_REGISTRATION( RectMatrixTestCase );
5
6 void RectMatrixTestCase::setUp(){
7
8 m1(0, 0) = 1.0;
9 m1(0, 1) = 1.0;
10 m1(1, 0) = 3.0;
11 m1(1, 1) = 1.0;
12
13 m2(0, 0) = 1.0;
14 m2(0, 1) = 0.0;
15 m2(1, 0) = 0.0;
16 m2(1, 1) = 1.0;
17
18
19 m3(0, 0) = 1.0;
20 m3(0, 1) = 0.0;
21 m3(1, 0) = 0.0;
22 m3(1, 1) = 1.0;
23
24 m4(0, 0) = -1.0;
25 m4(0, 1) = -1.0;
26 m4(1, 0) = -3.0;
27 m4(1, 1) = -1.0;
28
29 zero(0, 0) = 0.0;
30 zero(0, 1) = 0.0;
31 zero(1, 0) = 0.0;
32 zero(1, 1) = 0.0;
33
34 one(0, 0) = 1.0;
35 one(0, 1) = 1.0;
36 one(1, 0) = 1.0;
37 one(1, 1) = 1.0;
38
39 two(0, 0) = 2.0;
40 two(0, 1) = 2.0;
41 two(1, 0) = 2.0;
42 two(1, 1) = 2.0;
43
44 a(0, 0) = 1.0;
45 a(0, 1) = 0.0;
46 a(0, 2) = 0.0;
47 a(1, 0) = 0.0;
48 a(1, 1) = 1.0;
49 a(1, 2) = 0.0;
50
51 b(0, 0) = 1.0;
52 b(0, 1) = 0.0;
53 b(1, 0) = 0.0;
54 b(1, 1) = 1.0;
55 b(2, 0) = 0.0;
56 b(2, 1) = 0.0;
57
58
59 }
60
61 void RectMatrixTestCase::testConstructor(){
62
63 //test default constructor
64 RMat2x2 tmp1;
65 CPPUNIT_ASSERT(tmp1 == zero);
66
67 //test RectMatrix(Real s)
68 RMat2x2 tmp2;
69 CPPUNIT_ASSERT(tmp2 == zero);
70
71 //test copy constructor
72 RMat2x2 tmp3(m1);
73 CPPUNIT_ASSERT(tmp3 == m1);
74
75 //test copy assignment
76 RMat2x2 tmp4 = m2;
77 tmp4 = tmp4;
78 CPPUNIT_ASSERT(tmp4 == m2);
79
80
81 }
82
83 void RectMatrixTestCase::testEqual() {
84 CPPUNIT_ASSERT(m2 == m3);
85 }
86
87 void RectMatrixTestCase::testNegate() {
88
89 CPPUNIT_ASSERT(m1 == -m4);
90 }
91
92 void RectMatrixTestCase::testAdd() {
93 RMat2x2 tmp;
94
95 CPPUNIT_ASSERT(m1 + m4 == zero);
96
97 tmp.add(m1, m1);
98
99 CPPUNIT_ASSERT(m1 * 2.0 == tmp);
100
101 tmp = one;
102 tmp *= 2.0;
103
104 CPPUNIT_ASSERT(tmp == two);
105
106 }
107
108 void RectMatrixTestCase::testSub() {
109
110 RMat2x2 tmp(m2);
111 tmp.sub(m2);
112 CPPUNIT_ASSERT(tmp == zero);
113
114 tmp = m2;
115 tmp -= m2;
116 CPPUNIT_ASSERT(tmp == zero);
117
118 tmp = m1;
119 tmp.sub(m1 , m4);
120 CPPUNIT_ASSERT(tmp == m1 * 2.0);
121
122 CPPUNIT_ASSERT(m1 -m4 == m1 * 2.0);
123
124
125 }
126
127 void RectMatrixTestCase::testMul() {
128
129 CPPUNIT_ASSERT(m1 * 1.0 == m1);
130 CPPUNIT_ASSERT(m1 * 0.0 == zero);
131 CPPUNIT_ASSERT(2.0 *m1 == m1 + m1);
132
133 }
134
135 void RectMatrixTestCase::testDiv() {
136
137 CPPUNIT_ASSERT(m1 / 1.0 == m1);
138
139 CPPUNIT_ASSERT(m1 / 2.0 * 2.0 == m1);
140
141 }
142
143 void RectMatrixTestCase::testAccessEntries(){
144 CPPUNIT_ASSERT(m1(1, 0) == 3.0);
145 }
146
147 void RectMatrixTestCase::testTranspose(){
148
149 CPPUNIT_ASSERT((a.transpose()).transpose() == a);
150
151 CPPUNIT_ASSERT(a.transpose() == b);
152 }

Properties

Name Value
svn:executable *