Changeset be97a8 for src/unittests
- Timestamp:
- Jul 20, 2010, 1:01:11 PM (15 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- 3d078d, 4b6777, c644a5
- Parents:
- ba9f5b (diff), 818eda (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- src/unittests
- Files:
-
- 4 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
src/unittests/ActOnAllUnitTest.cpp
rba9f5b rbe97a8 14 14 #include "../test/ActOnAlltest.hpp" 15 15 #include "ActOnAllUnitTest.hpp" 16 #include "memoryallocator.hpp"17 16 #include "vector.hpp" 18 17 -
src/unittests/LineUnittest.cpp
rba9f5b rbe97a8 17 17 18 18 #include <iostream> 19 #include <cmath> 19 20 20 21 using namespace std; … … 352 353 CPPUNIT_ASSERT_EQUAL(fixture,zeroVec); 353 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],e1)); 361 CPPUNIT_ASSERT(testDirection(res[1],e1)); 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],e2)); 369 CPPUNIT_ASSERT(testDirection(res[1],e2)); 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],e3)); 377 CPPUNIT_ASSERT(testDirection(res[1],e3)); 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]==e1) || (res[0]==e2)); 385 CPPUNIT_ASSERT((res[1]==e1) || (res[1]==e2)); 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]==e2) || (res[0]==e3)); 393 CPPUNIT_ASSERT((res[1]==e2) || (res[1]==e3)); 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]==e3) || (res[0]==e1)); 401 CPPUNIT_ASSERT((res[1]==e3) || (res[1]==e1)); 402 CPPUNIT_ASSERT(res[0]!=res[1]); 403 } 404 } -
src/unittests/LineUnittest.hpp
rba9f5b rbe97a8 22 22 CPPUNIT_TEST ( intersectionTest ); 23 23 CPPUNIT_TEST ( rotationTest ); 24 CPPUNIT_TEST ( sphereIntersectionTest ); 24 25 CPPUNIT_TEST_SUITE_END(); 25 26 … … 33 34 void intersectionTest(); 34 35 void rotationTest(); 36 void sphereIntersectionTest(); 35 37 36 38 private: -
src/unittests/Makefile.am
rba9f5b rbe97a8 31 31 LogUnitTest \ 32 32 manipulateAtomsTest \ 33 MemoryUsageObserverUnitTest \ 34 MemoryAllocatorUnitTest \ 33 MatrixUnittest \ 35 34 MoleculeDescriptorTest \ 36 35 ObserverTest \ … … 38 37 periodentafelTest \ 39 38 PlaneUnittest \ 39 ShapeUnittest \ 40 40 SingletonTest \ 41 41 StackClassUnitTest \ … … 75 75 listofbondsunittest.cpp \ 76 76 logunittest.cpp \ 77 MatrixUnittest.cpp \ 77 78 manipulateAtomsTest.cpp \ 78 memoryallocatorunittest.cpp \79 memoryusageobserverunittest.cpp \80 79 MoleculeDescriptorTest.cpp \ 81 80 ObserverTest.cpp \ … … 83 82 periodentafelTest.cpp \ 84 83 PlaneUnittest.cpp \ 84 ShapeUnittest.cpp \ 85 85 SingletonTest.cpp \ 86 86 stackclassunittest.cpp \ … … 112 112 logunittest.hpp \ 113 113 manipulateAtomsTest.hpp \ 114 memoryallocatorunittest.hpp \ 115 memoryusageobserverunittest.hpp \ 114 MatrixUnittest.hpp \ 116 115 MoleculeDescriptorTest.hpp \ 117 116 periodentafelTest.hpp \ … … 189 188 manipulateAtomsTest_LDADD = ${ALLLIBS} 190 189 191 MemoryAllocatorUnitTest_SOURCES = UnitTestMain.cpp ../memoryallocator.hpp ../memoryallocator.cpp ../memoryusageobserver.cpp ../memoryusageobserver.hpp memoryallocatorunittest.cpp memoryallocatorunittest.hpp 192 MemoryAllocatorUnitTest_LDADD = ${ALLLIBS} 193 194 MemoryUsageObserverUnitTest_SOURCES = UnitTestMain.cpp ../memoryallocator.hpp ../memoryusageobserver.cpp ../memoryusageobserver.hpp memoryusageobserverunittest.cpp memoryusageobserverunittest.hpp 195 MemoryUsageObserverUnitTest_LDADD = ${ALLLIBS} 190 MatrixUnittest_SOURCES = UnitTestMain.cpp MatrixUnittest.cpp MatrixUnittest.hpp 191 MatrixUnittest_LDADD = ${ALLLIBS} 196 192 197 193 MoleculeDescriptorTest_SOURCES = UnitTestMain.cpp MoleculeDescriptorTest.cpp MoleculeDescriptorTest.hpp … … 210 206 PlaneUnittest_LDADD = ${ALLLIBS} 211 207 208 ShapeUnittest_SOURCES = UnitTestMain.cpp ShapeUnittest.cpp ShapeUnittest.hpp 209 ShapeUnittest_LDADD = ${ALLLIBS} 210 212 211 SingletonTest_SOURCES = UnitTestMain.cpp SingletonTest.cpp SingletonTest.hpp 213 212 SingletonTest_LDADD = ${ALLLIBS} $(BOOST_LIB) ${BOOST_THREAD_LIB} … … 225 224 Tesselation_InOutsideUnitTest_LDADD = ${ALLLIBS} 226 225 227 TestRunner_SOURCES = TestRunnerMain.cpp ../memoryallocator.hpp ../memoryallocator.cpp ../memoryusageobserver.cpp ../memoryusageobserver.hpp$(TESTSOURCES) $(TESTHEADERS)226 TestRunner_SOURCES = TestRunnerMain.cpp $(TESTSOURCES) $(TESTHEADERS) 228 227 TestRunner_LDADD = ${ALLLIBS} 229 228 -
src/unittests/ObserverTest.cpp
rba9f5b rbe97a8 182 182 }; 183 183 184 class Observable Collection: public Observable {184 class ObservableSet : public Observable { 185 185 public: 186 186 typedef std::set<SimpleObservable*> set; … … 188 188 typedef set::const_iterator const_iterator; 189 189 190 Observable Collection(int _num) :190 ObservableSet(int _num) : 191 191 Observable("ObservableCollection"), 192 192 num(_num) … … 199 199 } 200 200 201 ~Observable Collection(){201 ~ObservableSet(){ 202 202 set::iterator iter; 203 203 for(iter=theSet.begin(); iter!=theSet.end(); ++iter ){ 204 204 delete (*iter); 205 } 206 } 207 208 iterator begin(){ 209 return iterator(theSet.begin(),this); 210 } 211 212 iterator end(){ 213 return iterator(theSet.end(),this); 214 } 215 216 const int num; 217 218 private: 219 set theSet; 220 }; 221 222 class ObservableMap : public Observable { 223 public: 224 typedef std::map<int,SimpleObservable*> set; 225 typedef ObservedIterator<set> iterator; 226 typedef set::const_iterator const_iterator; 227 228 ObservableMap(int _num) : 229 Observable("ObservableCollection"), 230 num(_num) 231 { 232 for(int i=0; i<num; ++i){ 233 SimpleObservable *content = new SimpleObservable(); 234 content->signOn(this); 235 theSet.insert(make_pair(i,content)); 236 } 237 } 238 239 ~ObservableMap(){ 240 set::iterator iter; 241 for(iter=theSet.begin(); iter!=theSet.end(); ++iter ){ 242 delete iter->second; 205 243 } 206 244 } … … 231 269 blockObservable = new BlockObservable(); 232 270 notificationObservable = new NotificationObservable(); 233 collection = new ObservableCollection(5); 271 obsset = new ObservableSet(5); 272 obsmap = new ObservableMap(5); 234 273 235 274 observer1 = new UpdateCountObserver(); … … 249 288 delete blockObservable; 250 289 delete notificationObservable; 251 delete collection; 290 delete obsset; 291 delete obsmap; 252 292 253 293 delete observer1; … … 268 308 simpleObservable2->signOn(observer4); 269 309 310 CPPUNIT_ASSERT_EQUAL( 0, observer1->updates ); 311 CPPUNIT_ASSERT_EQUAL( 0, observer2->updates ); 312 CPPUNIT_ASSERT_EQUAL( 0, observer3->updates ); 313 CPPUNIT_ASSERT_EQUAL( 0, observer4->updates ); 314 315 270 316 simpleObservable1->changeMethod(); 271 317 CPPUNIT_ASSERT_EQUAL( 1, observer1->updates ); … … 292 338 void ObserverTest::doesBlockUpdateTest() { 293 339 callObservable->signOn(observer1); 340 CPPUNIT_ASSERT_EQUAL( 0, observer1->updates ); 294 341 295 342 callObservable->changeMethod1(); … … 311 358 CPPUNIT_ASSERT_EQUAL( 2, observer1->updates ); 312 359 CPPUNIT_ASSERT_EQUAL( 2, observer2->updates ); 360 } 361 362 void ObserverTest::outsideLockTest(){ 363 callObservable->signOn(observer1); 364 CPPUNIT_ASSERT_EQUAL( 0, observer1->updates ); 365 366 { 367 LOCK_OBSERVABLE(*callObservable); 368 CPPUNIT_ASSERT_EQUAL( 0, observer1->updates ); 369 } 370 // lock is gone now, observer should have notified 371 CPPUNIT_ASSERT_EQUAL( 1, observer1->updates ); 313 372 } 314 373 … … 341 400 int i = 0; 342 401 // test the general iterator methods 343 for(Observable Collection::iterator iter=collection->begin(); iter!=collection->end();++iter){344 CPPUNIT_ASSERT(i< collection->num);402 for(ObservableSet::iterator iter=obsset->begin(); iter!=obsset->end();++iter){ 403 CPPUNIT_ASSERT(i< obsset->num); 345 404 i++; 346 405 } 347 406 348 407 i=0; 349 for(Observable Collection::const_iterator iter=collection->begin(); iter!=collection->end();++iter){350 CPPUNIT_ASSERT(i< collection->num);351 i++; 352 } 353 354 collection->signOn(observer1);408 for(ObservableSet::const_iterator iter=obsset->begin(); iter!=obsset->end();++iter){ 409 CPPUNIT_ASSERT(i<obsset->num); 410 i++; 411 } 412 413 obsset->signOn(observer1); 355 414 { 356 415 // we construct this out of the loop, so the iterator dies at the end of 357 416 // the scope and not the end of the loop (allows more testing) 358 Observable Collection::iterator iter;359 for(iter= collection->begin(); iter!=collection->end(); ++iter){417 ObservableSet::iterator iter; 418 for(iter=obsset->begin(); iter!=obsset->end(); ++iter){ 360 419 (*iter)->changeMethod(); 361 420 } … … 367 426 368 427 // when using a const_iterator no changes should be propagated 369 for(Observable Collection::const_iterator iter = collection->begin(); iter!=collection->end();++iter);428 for(ObservableSet::const_iterator iter = obsset->begin(); iter!=obsset->end();++iter); 370 429 CPPUNIT_ASSERT_EQUAL( 1, observer1->updates); 371 collection->signOff(observer1); 430 431 // we need to test the operator-> as well 432 obsmap->signOn(observer2); 433 { 434 // we construct this out of the loop, so the iterator dies at the end of 435 // the scope and not the end of the loop (allows more testing) 436 ObservableMap::iterator iter; 437 for(iter=obsmap->begin(); iter!=obsmap->end(); ++iter){ 438 iter->second->changeMethod(); 439 } 440 // At this point no change should have been propagated 441 CPPUNIT_ASSERT_EQUAL( 0, observer2->updates); 442 } 443 // After the Iterator has died the propagation should take place 444 CPPUNIT_ASSERT_EQUAL( 1, observer2->updates); 445 446 447 obsset->signOff(observer1); 448 obsmap->signOff(observer2); 372 449 } 373 450 -
src/unittests/ObserverTest.hpp
rba9f5b rbe97a8 17 17 class CallObservable; 18 18 class SuperObservable; 19 class ObservableCollection; 19 class ObservableSet; 20 class ObservableMap; 20 21 class BlockObservable; 21 22 class NotificationObservable; … … 27 28 CPPUNIT_TEST ( doesBlockUpdateTest ); 28 29 CPPUNIT_TEST ( doesSubObservableTest ); 30 CPPUNIT_TEST ( outsideLockTest ); 29 31 CPPUNIT_TEST ( doesNotifyTest ); 30 32 CPPUNIT_TEST ( doesReportTest ); … … 40 42 void doesBlockUpdateTest(); 41 43 void doesSubObservableTest(); 44 void outsideLockTest(); 42 45 void doesNotifyTest(); 43 46 void doesReportTest(); … … 60 63 SuperObservable *superObservable; 61 64 NotificationObservable *notificationObservable; 62 ObservableCollection *collection; 65 ObservableSet *obsset; 66 ObservableMap *obsmap; 63 67 64 68 }; -
src/unittests/PlaneUnittest.cpp
rba9f5b rbe97a8 11 11 #include <cppunit/extensions/TestFactoryRegistry.h> 12 12 #include <cppunit/ui/text/TestRunner.h> 13 14 #include <cmath> 13 15 14 16 #ifdef HAVE_TESTRUNNER -
src/unittests/linearsystemofequationsunittest.cpp
rba9f5b rbe97a8 12 12 #include <cppunit/extensions/TestFactoryRegistry.h> 13 13 #include <cppunit/ui/text/TestRunner.h> 14 #include <cmath> 14 15 15 16 #include "linearsystemofequationsunittest.hpp" -
src/unittests/tesselation_insideoutsideunittest.cpp
rba9f5b rbe97a8 17 17 #include "tesselation.hpp" 18 18 #include "tesselation_insideoutsideunittest.hpp" 19 #include "verbose.hpp" 19 20 20 21 #ifdef HAVE_TESTRUNNER -
src/unittests/vectorunittest.cpp
rba9f5b rbe97a8 15 15 #include "defs.hpp" 16 16 #include "log.hpp" 17 #include "memoryusageobserver.hpp"18 17 #include "vector.hpp" 19 18 #include "vector_ops.hpp" … … 21 20 #include "Plane.hpp" 22 21 #include "Exceptions/LinearDependenceException.hpp" 22 #include "Matrix.hpp" 23 23 24 24 #ifdef HAVE_TESTRUNNER … … 214 214 CPPUNIT_ASSERT(testVector.ScalarProduct(three) < MYEPSILON); 215 215 } 216 217 218 /**219 * UnitTest for Vector::IsInParallelepiped().220 */221 void VectorTest::IsInParallelepipedTest()222 {223 double parallelepiped[NDIM*NDIM];224 parallelepiped[0] = 1;225 parallelepiped[1] = 0;226 parallelepiped[2] = 0;227 parallelepiped[3] = 0;228 parallelepiped[4] = 1;229 parallelepiped[5] = 0;230 parallelepiped[6] = 0;231 parallelepiped[7] = 0;232 parallelepiped[8] = 1;233 234 fixture = zero;235 CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );236 fixture = Vector(2.5,2.5,2.5);237 CPPUNIT_ASSERT_EQUAL( true, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );238 fixture = Vector(1.,1.,1.);239 CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );240 fixture = Vector(3.5,3.5,3.5);241 CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );242 fixture = Vector(2.,2.,2.);243 CPPUNIT_ASSERT_EQUAL( true, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );244 fixture = Vector(2.,3.,2.);245 CPPUNIT_ASSERT_EQUAL( true, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );246 fixture = Vector(-2.,2.,-1.);247 CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );248 }249 -
src/unittests/vectorunittest.hpp
rba9f5b rbe97a8 27 27 CPPUNIT_TEST ( ProjectionTest ); 28 28 CPPUNIT_TEST ( NormalsTest ); 29 CPPUNIT_TEST ( IsInParallelepipedTest );30 29 CPPUNIT_TEST_SUITE_END(); 31 30 … … 45 44 void LineIntersectionTest(); 46 45 void VectorRotationTest(); 47 void IsInParallelepipedTest();48 46 49 47 private:
Note:
See TracChangeset
for help on using the changeset viewer.