Changes in src/unittests/vectorunittest.cpp [27ac00:1513a74]
- File:
-
- 1 edited
-
src/unittests/vectorunittest.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/unittests/vectorunittest.cpp
r27ac00 r1513a74 216 216 } 217 217 218 /** UnitTest for line intersections. 219 */ 220 void VectorTest::LineIntersectionTest() 221 { 222 // plane at (0,0,0) normal to (1,0,0) cuts line from (0,0,0) to (2,1,0) at ??? 223 CPPUNIT_ASSERT_NO_THROW(fixture = Plane(unit, zero).GetIntersection(zero, two) ); 224 CPPUNIT_ASSERT_EQUAL( zero, fixture ); 225 226 // plane at (2,1,0) normal to (0,1,0) cuts line from (1,0,0) to (0,1,1) at ??? 227 CPPUNIT_ASSERT_NO_THROW(fixture = Plane(otherunit, two).GetIntersection( unit, notunit) ); 228 CPPUNIT_ASSERT_EQUAL( Vector(0., 1., 1.), fixture ); 229 230 // four vectors equal to zero 231 CPPUNIT_ASSERT_THROW(fixture = GetIntersectionOfTwoLinesOnPlane(zero, zero, zero, zero), LinearDependenceException); 232 //CPPUNIT_ASSERT_EQUAL( zero, fixture ); 233 234 // four vectors equal to unit 235 CPPUNIT_ASSERT_THROW(fixture = GetIntersectionOfTwoLinesOnPlane(unit, unit, unit, unit), LinearDependenceException); 236 //CPPUNIT_ASSERT_EQUAL( zero, fixture ); 237 238 // two equal lines 239 CPPUNIT_ASSERT_NO_THROW(fixture = GetIntersectionOfTwoLinesOnPlane(unit, two, unit, two)); 240 CPPUNIT_ASSERT_EQUAL( unit, fixture ); 241 242 // line from (1,0,0) to (2,1,0) cuts line from (1,0,0) to (0,1,0) at ??? 243 CPPUNIT_ASSERT_NO_THROW( fixture = GetIntersectionOfTwoLinesOnPlane(unit, two, unit, otherunit) ); 244 CPPUNIT_ASSERT_EQUAL( unit, fixture ); 245 246 // line from (1,0,0) to (0,0,0) cuts line from (0,0,0) to (2,1,0) at ??? 247 CPPUNIT_ASSERT_NO_THROW( fixture = GetIntersectionOfTwoLinesOnPlane(unit, zero, zero, two) ); 248 CPPUNIT_ASSERT_EQUAL( zero, fixture ); 249 250 // line from (1,0,0) to (2,1,0) cuts line from (0,0,0) to (0,1,0) at ??? 251 CPPUNIT_ASSERT_NO_THROW(fixture = GetIntersectionOfTwoLinesOnPlane(unit, two, zero, otherunit) ); 252 CPPUNIT_ASSERT_EQUAL( Vector(0., -1., 0.), fixture ); 253 }; 254 255 /** UnitTest for vector rotations. 256 */ 257 void VectorTest::VectorRotationTest() 258 { 259 fixture = Vector(-1.,0.,0.); 260 261 // zero vector does not change 262 fixture = RotateVector(zero,unit, 1.); 263 CPPUNIT_ASSERT_EQUAL( zero, fixture ); 264 265 fixture = RotateVector(zero, two, 1.); 266 CPPUNIT_ASSERT_EQUAL( zero, fixture); 267 268 // vector on axis does not change 269 fixture = RotateVector(unit,unit, 1.); 270 CPPUNIT_ASSERT_EQUAL( unit, fixture ); 271 272 // rotations 273 fixture = RotateVector(otherunit, unit, M_PI); 274 CPPUNIT_ASSERT_EQUAL( Vector(0.,-1.,0.), fixture ); 275 276 fixture = RotateVector(otherunit, unit, 2. * M_PI); 277 CPPUNIT_ASSERT_EQUAL( otherunit, fixture ); 278 279 fixture = RotateVector(otherunit,unit, 0); 280 CPPUNIT_ASSERT_EQUAL( otherunit, fixture ); 281 282 fixture = RotateVector(Vector(0.,0.,1.), notunit, M_PI); 283 CPPUNIT_ASSERT_EQUAL( otherunit, fixture ); 284 } 218 285 219 286 /**
Note:
See TracChangeset
for help on using the changeset viewer.
