Changes in src/unittests/LineUnittest.cpp [407782:3dcb1f]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/unittests/LineUnittest.cpp
r407782 r3dcb1f 29 29 void LineUnittest::setUp(){ 30 30 // three lines along the axes 31 la1 = new Line(zeroVec, unitVec[0]);32 la2 = new Line(zeroVec, unitVec[1]);33 la3 = new Line(zeroVec, unitVec[2]);31 la1 = new Line(zeroVec,e1); 32 la2 = new Line(zeroVec,e2); 33 la3 = new Line(zeroVec,e3); 34 34 35 35 // the lines along the planes defined by two coordinate axes 36 lp1 = new Line( unitVec[0],unitVec[0]-unitVec[1]);37 lp2 = new Line( unitVec[1],unitVec[1]-unitVec[2]);38 lp3 = new Line( unitVec[2],unitVec[2]-unitVec[0]);36 lp1 = new Line(e1,e1-e2); 37 lp2 = new Line(e2,e2-e3); 38 lp3 = new Line(e3,e3-e1); 39 39 } 40 40 void LineUnittest::tearDown(){ … … 52 52 53 53 // direction+origin should never fail 54 CPPUNIT_ASSERT_NO_THROW(Line(zeroVec, unitVec[0]));55 CPPUNIT_ASSERT_NO_THROW(Line(zeroVec, unitVec[1]));56 CPPUNIT_ASSERT_NO_THROW(Line(zeroVec, unitVec[2]));54 CPPUNIT_ASSERT_NO_THROW(Line(zeroVec,e1)); 55 CPPUNIT_ASSERT_NO_THROW(Line(zeroVec,e2)); 56 CPPUNIT_ASSERT_NO_THROW(Line(zeroVec,e3)); 57 57 58 58 // two points fails if both points are the same 59 CPPUNIT_ASSERT_NO_THROW(makeLineThrough( unitVec[0],unitVec[1]));60 CPPUNIT_ASSERT_NO_THROW(makeLineThrough( unitVec[1],unitVec[2]));61 CPPUNIT_ASSERT_NO_THROW(makeLineThrough( unitVec[2],unitVec[0]));59 CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e1,e2)); 60 CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e2,e3)); 61 CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e3,e1)); 62 62 // for zerovectors 63 CPPUNIT_ASSERT_NO_THROW(makeLineThrough( unitVec[0],zeroVec));64 CPPUNIT_ASSERT_NO_THROW(makeLineThrough( unitVec[1],zeroVec));65 CPPUNIT_ASSERT_NO_THROW(makeLineThrough( unitVec[2],zeroVec));63 CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e1,zeroVec)); 64 CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e2,zeroVec)); 65 CPPUNIT_ASSERT_NO_THROW(makeLineThrough(e3,zeroVec)); 66 66 // now we pass two times the same point 67 67 CPPUNIT_ASSERT_THROW(makeLineThrough(zeroVec,zeroVec),LinearDependenceException); 68 CPPUNIT_ASSERT_THROW(makeLineThrough( unitVec[0],unitVec[0]),LinearDependenceException);69 CPPUNIT_ASSERT_THROW(makeLineThrough( unitVec[1],unitVec[1]),LinearDependenceException);70 CPPUNIT_ASSERT_THROW(makeLineThrough( unitVec[2],unitVec[2]),LinearDependenceException);68 CPPUNIT_ASSERT_THROW(makeLineThrough(e1,e1),LinearDependenceException); 69 CPPUNIT_ASSERT_THROW(makeLineThrough(e2,e2),LinearDependenceException); 70 CPPUNIT_ASSERT_THROW(makeLineThrough(e3,e3),LinearDependenceException); 71 71 72 72 } … … 78 78 void LineUnittest::constructionResultTest(){ 79 79 // test all directions 80 CPPUNIT_ASSERT(testDirection(la1->getDirection(), unitVec[0]));81 CPPUNIT_ASSERT(testDirection(la2->getDirection(), unitVec[1]));82 CPPUNIT_ASSERT(testDirection(la3->getDirection(), unitVec[2]));80 CPPUNIT_ASSERT(testDirection(la1->getDirection(),e1)); 81 CPPUNIT_ASSERT(testDirection(la2->getDirection(),e2)); 82 CPPUNIT_ASSERT(testDirection(la3->getDirection(),e3)); 83 83 84 84 // test origins … … 92 92 CPPUNIT_ASSERT(la3->isContained(zeroVec)); 93 93 94 CPPUNIT_ASSERT(la1->isContained( unitVec[0]));95 CPPUNIT_ASSERT(la2->isContained( unitVec[1]));96 CPPUNIT_ASSERT(la3->isContained( unitVec[2]));97 98 CPPUNIT_ASSERT(lp1->isContained( unitVec[0]));99 CPPUNIT_ASSERT(lp2->isContained( unitVec[1]));100 CPPUNIT_ASSERT(lp3->isContained( unitVec[2]));101 102 CPPUNIT_ASSERT(lp1->isContained( unitVec[1]));103 CPPUNIT_ASSERT(lp2->isContained( unitVec[2]));104 CPPUNIT_ASSERT(lp3->isContained( unitVec[0]));94 CPPUNIT_ASSERT(la1->isContained(e1)); 95 CPPUNIT_ASSERT(la2->isContained(e2)); 96 CPPUNIT_ASSERT(la3->isContained(e3)); 97 98 CPPUNIT_ASSERT(lp1->isContained(e1)); 99 CPPUNIT_ASSERT(lp2->isContained(e2)); 100 CPPUNIT_ASSERT(lp3->isContained(e3)); 101 102 CPPUNIT_ASSERT(lp1->isContained(e2)); 103 CPPUNIT_ASSERT(lp2->isContained(e3)); 104 CPPUNIT_ASSERT(lp3->isContained(e1)); 105 105 } 106 106 … … 112 112 113 113 // multiples of the second support vector 114 CPPUNIT_ASSERT(la1->isContained( unitVec[0]));115 CPPUNIT_ASSERT(la2->isContained( unitVec[1]));116 CPPUNIT_ASSERT(la3->isContained( unitVec[2]));117 118 CPPUNIT_ASSERT(la1->isContained(2* unitVec[0]));119 CPPUNIT_ASSERT(la2->isContained(2* unitVec[1]));120 CPPUNIT_ASSERT(la3->isContained(2* unitVec[2]));121 122 CPPUNIT_ASSERT(la1->isContained(3* unitVec[0]));123 CPPUNIT_ASSERT(la2->isContained(3* unitVec[1]));124 CPPUNIT_ASSERT(la3->isContained(3* unitVec[2]));114 CPPUNIT_ASSERT(la1->isContained(e1)); 115 CPPUNIT_ASSERT(la2->isContained(e2)); 116 CPPUNIT_ASSERT(la3->isContained(e3)); 117 118 CPPUNIT_ASSERT(la1->isContained(2*e1)); 119 CPPUNIT_ASSERT(la2->isContained(2*e2)); 120 CPPUNIT_ASSERT(la3->isContained(2*e3)); 121 122 CPPUNIT_ASSERT(la1->isContained(3*e1)); 123 CPPUNIT_ASSERT(la2->isContained(3*e2)); 124 CPPUNIT_ASSERT(la3->isContained(3*e3)); 125 125 126 126 // negative multiples 127 CPPUNIT_ASSERT(la1->isContained(-1* unitVec[0]));128 CPPUNIT_ASSERT(la2->isContained(-1* unitVec[1]));129 CPPUNIT_ASSERT(la3->isContained(-1* unitVec[2]));130 131 CPPUNIT_ASSERT(la1->isContained(-2* unitVec[0]));132 CPPUNIT_ASSERT(la2->isContained(-2* unitVec[1]));133 CPPUNIT_ASSERT(la3->isContained(-2* unitVec[2]));127 CPPUNIT_ASSERT(la1->isContained(-1*e1)); 128 CPPUNIT_ASSERT(la2->isContained(-1*e2)); 129 CPPUNIT_ASSERT(la3->isContained(-1*e3)); 130 131 CPPUNIT_ASSERT(la1->isContained(-2*e1)); 132 CPPUNIT_ASSERT(la2->isContained(-2*e2)); 133 CPPUNIT_ASSERT(la3->isContained(-2*e3)); 134 134 135 135 // points that should not be on the lines 136 CPPUNIT_ASSERT(!la1->isContained( unitVec[1]));137 CPPUNIT_ASSERT(!la2->isContained( unitVec[2]));138 CPPUNIT_ASSERT(!la3->isContained( unitVec[0]));139 140 CPPUNIT_ASSERT(!la1->isContained(2* unitVec[1]));141 CPPUNIT_ASSERT(!la2->isContained(2* unitVec[2]));142 CPPUNIT_ASSERT(!la3->isContained(2* unitVec[0]));143 144 CPPUNIT_ASSERT(!la1->isContained(-1* unitVec[1]));145 CPPUNIT_ASSERT(!la2->isContained(-1* unitVec[2]));146 CPPUNIT_ASSERT(!la3->isContained(-1* unitVec[0]));136 CPPUNIT_ASSERT(!la1->isContained(e2)); 137 CPPUNIT_ASSERT(!la2->isContained(e3)); 138 CPPUNIT_ASSERT(!la3->isContained(e1)); 139 140 CPPUNIT_ASSERT(!la1->isContained(2*e2)); 141 CPPUNIT_ASSERT(!la2->isContained(2*e3)); 142 CPPUNIT_ASSERT(!la3->isContained(2*e1)); 143 144 CPPUNIT_ASSERT(!la1->isContained(-1*e2)); 145 CPPUNIT_ASSERT(!la2->isContained(-1*e3)); 146 CPPUNIT_ASSERT(!la3->isContained(-1*e1)); 147 147 148 148 // For the plane lines 149 CPPUNIT_ASSERT(lp1->isContained( unitVec[0]));150 CPPUNIT_ASSERT(lp2->isContained( unitVec[1]));151 CPPUNIT_ASSERT(lp3->isContained( unitVec[2]));152 153 CPPUNIT_ASSERT(lp1->isContained( unitVec[1]));154 CPPUNIT_ASSERT(lp2->isContained( unitVec[2]));155 CPPUNIT_ASSERT(lp3->isContained( unitVec[0]));156 157 CPPUNIT_ASSERT(lp1->isContained( unitVec[0]+2*(unitVec[0]-unitVec[1])));158 CPPUNIT_ASSERT(lp2->isContained( unitVec[1]+2*(unitVec[1]-unitVec[2])));159 CPPUNIT_ASSERT(lp3->isContained( unitVec[2]+2*(unitVec[2]-unitVec[0])));160 161 CPPUNIT_ASSERT(lp1->isContained( unitVec[0]-2*(unitVec[0]-unitVec[1])));162 CPPUNIT_ASSERT(lp2->isContained( unitVec[1]-2*(unitVec[1]-unitVec[2])));163 CPPUNIT_ASSERT(lp3->isContained( unitVec[2]-2*(unitVec[2]-unitVec[0])));149 CPPUNIT_ASSERT(lp1->isContained(e1)); 150 CPPUNIT_ASSERT(lp2->isContained(e2)); 151 CPPUNIT_ASSERT(lp3->isContained(e3)); 152 153 CPPUNIT_ASSERT(lp1->isContained(e2)); 154 CPPUNIT_ASSERT(lp2->isContained(e3)); 155 CPPUNIT_ASSERT(lp3->isContained(e1)); 156 157 CPPUNIT_ASSERT(lp1->isContained(e1+2*(e1-e2))); 158 CPPUNIT_ASSERT(lp2->isContained(e2+2*(e2-e3))); 159 CPPUNIT_ASSERT(lp3->isContained(e3+2*(e3-e1))); 160 161 CPPUNIT_ASSERT(lp1->isContained(e1-2*(e1-e2))); 162 CPPUNIT_ASSERT(lp2->isContained(e2-2*(e2-e3))); 163 CPPUNIT_ASSERT(lp3->isContained(e3-2*(e3-e1))); 164 164 } 165 165 … … 177 177 // axes and plane lines 178 178 fixture = la1->getIntersection(*lp1); 179 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[0]);179 CPPUNIT_ASSERT_EQUAL(fixture,e1); 180 180 fixture = la2->getIntersection(*lp2); 181 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[1]);181 CPPUNIT_ASSERT_EQUAL(fixture,e2); 182 182 fixture = la3->getIntersection(*lp3); 183 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[2]);183 CPPUNIT_ASSERT_EQUAL(fixture,e3); 184 184 185 185 fixture = la1->getIntersection(*lp3); 186 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[0]);186 CPPUNIT_ASSERT_EQUAL(fixture,e1); 187 187 fixture = la2->getIntersection(*lp1); 188 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[1]);188 CPPUNIT_ASSERT_EQUAL(fixture,e2); 189 189 fixture = la3->getIntersection(*lp2); 190 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[2]);190 CPPUNIT_ASSERT_EQUAL(fixture,e3); 191 191 192 192 // two plane lines 193 193 fixture = lp1->getIntersection(*lp2); 194 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[1]);194 CPPUNIT_ASSERT_EQUAL(fixture,e2); 195 195 fixture = lp2->getIntersection(*lp3); 196 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[2]);196 CPPUNIT_ASSERT_EQUAL(fixture,e3); 197 197 fixture = lp3->getIntersection(*lp1); 198 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[0]);198 CPPUNIT_ASSERT_EQUAL(fixture,e1); 199 199 200 200 // When we have two times the same line, we check if the point is on the line … … 242 242 243 243 // rotate vectors on the axis around their lines 244 fixture = la1->rotateVector( unitVec[0],1.);245 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[0]);246 fixture = la2->rotateVector( unitVec[1],1.);247 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[1]);248 fixture = la3->rotateVector( unitVec[2],1.);249 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[2]);250 251 fixture = la1->rotateVector( unitVec[0],2.);252 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[0]);253 fixture = la2->rotateVector( unitVec[1],2.);254 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[1]);255 fixture = la3->rotateVector( unitVec[2],2.);256 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[2]);244 fixture = la1->rotateVector(e1,1.); 245 CPPUNIT_ASSERT_EQUAL(fixture,e1); 246 fixture = la2->rotateVector(e2,1.); 247 CPPUNIT_ASSERT_EQUAL(fixture,e2); 248 fixture = la3->rotateVector(e3,1.); 249 CPPUNIT_ASSERT_EQUAL(fixture,e3); 250 251 fixture = la1->rotateVector(e1,2.); 252 CPPUNIT_ASSERT_EQUAL(fixture,e1); 253 fixture = la2->rotateVector(e2,2.); 254 CPPUNIT_ASSERT_EQUAL(fixture,e2); 255 fixture = la3->rotateVector(e3,2.); 256 CPPUNIT_ASSERT_EQUAL(fixture,e3); 257 257 258 258 // more vectors on the axis 259 fixture = la1->rotateVector(2* unitVec[0],1.);260 CPPUNIT_ASSERT_EQUAL(fixture,2* unitVec[0]);261 fixture = la2->rotateVector(2* unitVec[1],1.);262 CPPUNIT_ASSERT_EQUAL(fixture,2* unitVec[1]);263 fixture = la3->rotateVector(2* unitVec[2],1.);264 CPPUNIT_ASSERT_EQUAL(fixture,2* unitVec[2]);265 266 fixture = la1->rotateVector(2* unitVec[0],2.);267 CPPUNIT_ASSERT_EQUAL(fixture,2* unitVec[0]);268 fixture = la2->rotateVector(2* unitVec[1],2.);269 CPPUNIT_ASSERT_EQUAL(fixture,2* unitVec[1]);270 fixture = la3->rotateVector(2* unitVec[2],2.);271 CPPUNIT_ASSERT_EQUAL(fixture,2* unitVec[2]);259 fixture = la1->rotateVector(2*e1,1.); 260 CPPUNIT_ASSERT_EQUAL(fixture,2*e1); 261 fixture = la2->rotateVector(2*e2,1.); 262 CPPUNIT_ASSERT_EQUAL(fixture,2*e2); 263 fixture = la3->rotateVector(2*e3,1.); 264 CPPUNIT_ASSERT_EQUAL(fixture,2*e3); 265 266 fixture = la1->rotateVector(2*e1,2.); 267 CPPUNIT_ASSERT_EQUAL(fixture,2*e1); 268 fixture = la2->rotateVector(2*e2,2.); 269 CPPUNIT_ASSERT_EQUAL(fixture,2*e2); 270 fixture = la3->rotateVector(2*e3,2.); 271 CPPUNIT_ASSERT_EQUAL(fixture,2*e3); 272 272 273 273 // negative factors 274 fixture = la1->rotateVector(-1* unitVec[0],1.);275 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[0]);276 fixture = la2->rotateVector(-1* unitVec[1],1.);277 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[1]);278 fixture = la3->rotateVector(-1* unitVec[2],1.);279 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[2]);280 281 fixture = la1->rotateVector(-1* unitVec[0],2.);282 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[0]);283 fixture = la2->rotateVector(-1* unitVec[1],2.);284 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[1]);285 fixture = la3->rotateVector(-1* unitVec[2],2.);286 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[2]);274 fixture = la1->rotateVector(-1*e1,1.); 275 CPPUNIT_ASSERT_EQUAL(fixture,-1*e1); 276 fixture = la2->rotateVector(-1*e2,1.); 277 CPPUNIT_ASSERT_EQUAL(fixture,-1*e2); 278 fixture = la3->rotateVector(-1*e3,1.); 279 CPPUNIT_ASSERT_EQUAL(fixture,-1*e3); 280 281 fixture = la1->rotateVector(-1*e1,2.); 282 CPPUNIT_ASSERT_EQUAL(fixture,-1*e1); 283 fixture = la2->rotateVector(-1*e2,2.); 284 CPPUNIT_ASSERT_EQUAL(fixture,-1*e2); 285 fixture = la3->rotateVector(-1*e3,2.); 286 CPPUNIT_ASSERT_EQUAL(fixture,-1*e3); 287 287 288 288 289 289 290 290 // now the real rotations 291 // unitVec[1] around unitVec[0]292 fixture = la1->rotateVector( unitVec[1],0);293 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[1]);294 fixture = la1->rotateVector( unitVec[1],1./2.*M_PI);295 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[2]);296 fixture = la1->rotateVector( unitVec[1],M_PI);297 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[1]);298 fixture = la1->rotateVector( unitVec[1],2*M_PI);299 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[1]);300 301 // unitVec[2] around unitVec[1]302 fixture = la2->rotateVector( unitVec[2],0);303 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[2]);304 fixture = la2->rotateVector( unitVec[2],1./2.*M_PI);305 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[0]);306 fixture = la2->rotateVector( unitVec[2],M_PI);307 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[2]);308 fixture = la2->rotateVector( unitVec[2],2*M_PI);309 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[2]);310 311 // unitVec[0] around unitVec[2]312 fixture = la3->rotateVector( unitVec[0],0);313 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[0]);314 fixture = la3->rotateVector( unitVec[0],1./2.*M_PI);315 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[1]);316 fixture = la3->rotateVector( unitVec[0],M_PI);317 CPPUNIT_ASSERT_EQUAL(fixture,-1* unitVec[0]);318 fixture = la3->rotateVector( unitVec[0],2*M_PI);319 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[0]);291 // e2 around e1 292 fixture = la1->rotateVector(e2,0); 293 CPPUNIT_ASSERT_EQUAL(fixture,e2); 294 fixture = la1->rotateVector(e2,1./2.*M_PI); 295 CPPUNIT_ASSERT_EQUAL(fixture,-1*e3); 296 fixture = la1->rotateVector(e2,M_PI); 297 CPPUNIT_ASSERT_EQUAL(fixture,-1*e2); 298 fixture = la1->rotateVector(e2,2*M_PI); 299 CPPUNIT_ASSERT_EQUAL(fixture,e2); 300 301 // e3 around e2 302 fixture = la2->rotateVector(e3,0); 303 CPPUNIT_ASSERT_EQUAL(fixture,e3); 304 fixture = la2->rotateVector(e3,1./2.*M_PI); 305 CPPUNIT_ASSERT_EQUAL(fixture,-1*e1); 306 fixture = la2->rotateVector(e3,M_PI); 307 CPPUNIT_ASSERT_EQUAL(fixture,-1*e3); 308 fixture = la2->rotateVector(e3,2*M_PI); 309 CPPUNIT_ASSERT_EQUAL(fixture,e3); 310 311 // e1 around e3 312 fixture = la3->rotateVector(e1,0); 313 CPPUNIT_ASSERT_EQUAL(fixture,e1); 314 fixture = la3->rotateVector(e1,1./2.*M_PI); 315 CPPUNIT_ASSERT_EQUAL(fixture,-1*e2); 316 fixture = la3->rotateVector(e1,M_PI); 317 CPPUNIT_ASSERT_EQUAL(fixture,-1*e1); 318 fixture = la3->rotateVector(e1,2*M_PI); 319 CPPUNIT_ASSERT_EQUAL(fixture,e1); 320 320 321 321 … … 323 323 324 324 // Vectors on the line 325 fixture = lp1->rotateVector( unitVec[0],1.);326 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[0]);327 fixture = lp1->rotateVector( unitVec[1],1.);328 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[1]);329 330 fixture = lp2->rotateVector( unitVec[1],1.);331 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[1]);332 fixture = lp2->rotateVector( unitVec[2],1.);333 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[2]);334 335 fixture = lp3->rotateVector( unitVec[2],1.);336 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[2]);337 fixture = lp3->rotateVector( unitVec[0],1.);338 CPPUNIT_ASSERT_EQUAL(fixture, unitVec[0]);325 fixture = lp1->rotateVector(e1,1.); 326 CPPUNIT_ASSERT_EQUAL(fixture,e1); 327 fixture = lp1->rotateVector(e2,1.); 328 CPPUNIT_ASSERT_EQUAL(fixture,e2); 329 330 fixture = lp2->rotateVector(e2,1.); 331 CPPUNIT_ASSERT_EQUAL(fixture,e2); 332 fixture = lp2->rotateVector(e3,1.); 333 CPPUNIT_ASSERT_EQUAL(fixture,e3); 334 335 fixture = lp3->rotateVector(e3,1.); 336 CPPUNIT_ASSERT_EQUAL(fixture,e3); 337 fixture = lp3->rotateVector(e1,1.); 338 CPPUNIT_ASSERT_EQUAL(fixture,e1); 339 339 340 340 // the real stuff … … 353 353 CPPUNIT_ASSERT_EQUAL(fixture,zeroVec); 354 354 } 355 356 void LineUnittest::sphereIntersectionTest(){357 {358 std::vector<Vector> res = la1->getSphereIntersections();359 CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);360 CPPUNIT_ASSERT(testDirection(res[0],unitVec[0]));361 CPPUNIT_ASSERT(testDirection(res[1],unitVec[0]));362 CPPUNIT_ASSERT(res[0]!=res[1]);363 }364 365 {366 std::vector<Vector> res = la2->getSphereIntersections();367 CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);368 CPPUNIT_ASSERT(testDirection(res[0],unitVec[1]));369 CPPUNIT_ASSERT(testDirection(res[1],unitVec[1]));370 CPPUNIT_ASSERT(res[0]!=res[1]);371 }372 373 {374 std::vector<Vector> res = la3->getSphereIntersections();375 CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);376 CPPUNIT_ASSERT(testDirection(res[0],unitVec[2]));377 CPPUNIT_ASSERT(testDirection(res[1],unitVec[2]));378 CPPUNIT_ASSERT(res[0]!=res[1]);379 }380 381 {382 std::vector<Vector> res = lp1->getSphereIntersections();383 CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);384 CPPUNIT_ASSERT((res[0]==unitVec[0]) || (res[0]==unitVec[1]));385 CPPUNIT_ASSERT((res[1]==unitVec[0]) || (res[1]==unitVec[1]));386 CPPUNIT_ASSERT(res[0]!=res[1]);387 }388 389 {390 std::vector<Vector> res = lp2->getSphereIntersections();391 CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);392 CPPUNIT_ASSERT((res[0]==unitVec[1]) || (res[0]==unitVec[2]));393 CPPUNIT_ASSERT((res[1]==unitVec[1]) || (res[1]==unitVec[2]));394 CPPUNIT_ASSERT(res[0]!=res[1]);395 }396 397 {398 std::vector<Vector> res = lp3->getSphereIntersections();399 CPPUNIT_ASSERT_EQUAL(res.size(),(size_t)2);400 CPPUNIT_ASSERT((res[0]==unitVec[2]) || (res[0]==unitVec[0]));401 CPPUNIT_ASSERT((res[1]==unitVec[2]) || (res[1]==unitVec[0]));402 CPPUNIT_ASSERT(res[0]!=res[1]);403 }404 }
Note:
See TracChangeset
for help on using the changeset viewer.