# | Line 167 | Line 167 | void VectorTestCase::testOperators(){ | |
---|---|---|
167 | //test mul | |
168 | Vec4 a6; | |
169 | a6 = one; | |
170 | < | a6.mul(2.0); |
170 | > | a6 *= 2.0; |
171 | CPPUNIT_ASSERT( a6 == two); | |
172 | ||
173 | Vec4 a7; | |
174 | < | a7.mul(one, 2.0); |
174 | > | a7 = one * 2.0; |
175 | CPPUNIT_ASSERT( a7 == two); | |
176 | < | Vec4 a8; |
177 | < | a7.mul(zero, 2.0); |
178 | < | CPPUNIT_ASSERT( a7 == zero); |
176 | > | a7 = 2.0 * one; |
177 | > | CPPUNIT_ASSERT( a7 == two); |
178 | ||
179 | //test div | |
180 | < | Vec4 a9; |
181 | < | a9 = two; |
182 | < | a9.div(2.0); |
183 | < | CPPUNIT_ASSERT( a9 == one); |
184 | < | |
185 | < | Vec4 a10; |
187 | < | a10.div(two, 2.0); |
188 | < | CPPUNIT_ASSERT( a10 == one); |
189 | < | Vec4 a11; |
190 | < | a11.mul(zero, 2.0); |
191 | < | CPPUNIT_ASSERT( a11 == zero); |
192 | < | |
180 | > | Vec4 a8; |
181 | > | a8 = two; |
182 | > | a8 /= 2.0; |
183 | > | CPPUNIT_ASSERT( a8 == one); |
184 | > | a8 = two /2.0; |
185 | > | CPPUNIT_ASSERT( a8 == one); |
186 | } | |
187 | ||
188 | void VectorTestCase::testAccessEntries(){ | |
189 | < | CPPUNIT_ASSERT(zero[0] == 0.0); |
197 | < | CPPUNIT_ASSERT(one[0] == 1.0); |
198 | < | CPPUNIT_ASSERT(v3[0] == 4.0); |
189 | > | //test [] operator |
190 | ||
191 | < | CPPUNIT_ASSERT(v3(0) != 1.0); |
191 | > | CPPUNIT_ASSERT_DOUBLES_EQUAL(zero[0], 0.0, oopse::epsilon); |
192 | > | CPPUNIT_ASSERT_DOUBLES_EQUAL(one[0] , 1.0, oopse::epsilon); |
193 | > | CPPUNIT_ASSERT_DOUBLES_EQUAL(v3[0] , 4.0, oopse::epsilon); |
194 | > | //test () operator |
195 | > | CPPUNIT_ASSERT_DOUBLES_EQUAL(v3(0) , 4.0, oopse::epsilon); |
196 | ||
197 | + | Vec4 a1; |
198 | + | double *pa1 = a1.getArrayPointer(); |
199 | + | |
200 | + | pa1[0] = 4.0; |
201 | + | pa1[1] = 1.0; |
202 | + | pa1[2] = 3.0; |
203 | + | pa1[3] = 2.0; |
204 | + | |
205 | + | CPPUNIT_ASSERT(a1 == v3); |
206 | } | |
207 | ||
208 | + | void VectorTestCase::testOtherMemberFunctions(){ |
209 | + | //test length() |
210 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(zero.length(), 0.0, oopse::epsilon); |
211 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(one.length(), 2.0, oopse::epsilon); |
212 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(v2.length(), sqrt(14.0), oopse::epsilon); |
213 | + | |
214 | + | //test lengthSquare() |
215 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(zero.lengthSquare(), 0.0, oopse::epsilon); |
216 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(one.lengthSquare(), 4.0, oopse::epsilon); |
217 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(v2.lengthSquare(), 14.0, oopse::epsilon); |
218 | + | |
219 | + | //test normalize() |
220 | + | Vec4 a1 = one; |
221 | + | Vec4 a2 = two; |
222 | + | |
223 | + | a1.normalize(); |
224 | + | a2.normalize(); |
225 | + | CPPUNIT_ASSERT(a1 == a2); |
226 | + | |
227 | + | //test isNormalized(); |
228 | + | CPPUNIT_ASSERT(a1.isNormalized()); |
229 | + | CPPUNIT_ASSERT(!one.isNormalized()); |
230 | + | |
231 | + | //test getArray |
232 | + | double tempV[4]; |
233 | + | v3.getArray(tempV); |
234 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(tempV[0], v3[0], oopse::epsilon); |
235 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(tempV[1], v3[1], oopse::epsilon); |
236 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(tempV[2], v3[2], oopse::epsilon); |
237 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(tempV[3], v3[3], oopse::epsilon); |
238 | + | } |
239 | void VectorTestCase::testOtherTemplateFunctions(){ | |
240 | + | //test dot |
241 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(dot(one, two), 8.0, oopse::epsilon); |
242 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(dot(v1, v3), 20.0, oopse::epsilon); |
243 | ||
244 | + | //test distance |
245 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(distance(one, two), 2.0, oopse::epsilon); |
246 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(distance(v1, v2), sqrt(56.0), oopse::epsilon); |
247 | + | |
248 | + | //test distanceSquare |
249 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(distanceSquare(one, two), 4.0, oopse::epsilon); |
250 | + | CPPUNIT_ASSERT_DOUBLES_EQUAL(distanceSquare(v1, v2), 56, oopse::epsilon); |
251 | + | |
252 | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |