Changeset fb255d for src/Fragmentation/Automation/unittests
- Timestamp:
- Jul 2, 2012, 7:54:10 AM (13 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:
- 2344a3
- Parents:
- d6b12c
- git-author:
- Frederik Heber <heber@…> (02/29/12 17:39:33)
- git-committer:
- Frederik Heber <heber@…> (07/02/12 07:54:10)
- Location:
- src/Fragmentation/Automation/unittests
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Fragmentation/Automation/unittests/Makefile.am
rd6b12c rfb255d 143 143 144 144 WorkerPoolUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl 145 WorkerPoolUnitTest_CPPFLAGS = ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS} 145 WorkerPoolUnitTest_CPPFLAGS = ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS} -I$(top_srcdir)/src 146 146 WorkerPoolUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \ 147 147 unittests/WorkerPoolUnitTest.cpp \ … … 150 150 Pool/WorkerPool.hpp \ 151 151 WorkerAddress.cpp \ 152 WorkerAddress.hpp 152 WorkerAddress.hpp \ 153 $(top_srcdir)/src/unittests/stubs/ObserverStub.cpp \ 154 $(top_srcdir)/src/unittests/stubs/ObserverStub.hpp 153 155 WorkerPoolUnitTest_LDADD = \ 154 156 $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \ -
src/Fragmentation/Automation/unittests/WorkerPoolUnitTest.cpp
rd6b12c rfb255d 27 27 28 28 #include "CodePatterns/Assert.hpp" 29 #include "CodePatterns/Observer/Channels.hpp" 29 30 #include "Pool/WorkerPool.hpp" 30 31 #include "WorkerAddress.hpp" … … 38 39 39 40 #include "stubs/FragmentJobStub.hpp" 41 #include "unittests/stubs/ObserverStub.hpp" 40 42 41 43 // Registers the fixture into the 'registry' … … 49 51 50 52 pool = new WorkerPool(); 53 addobserver = new NotificationObserver(pool->getChannel(WorkerPool::WorkerAdded)); 54 removeobserver = new NotificationObserver(pool->getChannel(WorkerPool::WorkerRemoved)); 55 idleobserver = new NotificationObserver(pool->getChannel(WorkerPool::WorkerIdle)); 56 57 // and sign on 58 pool->signOn(addobserver, WorkerPool::WorkerAdded); 59 pool->signOn(removeobserver, WorkerPool::WorkerRemoved); 60 pool->signOn(idleobserver, WorkerPool::WorkerIdle); 51 61 } 52 62 53 63 void WorkerPoolTest::tearDown() 54 64 { 65 pool->signOff(addobserver, WorkerPool::WorkerAdded); 66 pool->signOff(removeobserver, WorkerPool::WorkerRemoved); 67 pool->signOff(idleobserver, WorkerPool::WorkerIdle); 68 69 delete removeobserver; 70 delete addobserver; 71 delete idleobserver; 55 72 delete pool; 56 73 } … … 68 85 CPPUNIT_ASSERT_EQUAL( (size_t)0, pool->busy_queue.size() ); 69 86 CPPUNIT_ASSERT_EQUAL( (size_t)1, pool->pool.size() ); 87 CPPUNIT_ASSERT( addobserver->wasNotified ); 88 CPPUNIT_ASSERT( !removeobserver->wasNotified ); 89 CPPUNIT_ASSERT( idleobserver->wasNotified ); 90 addobserver->wasNotified = false; 91 idleobserver->wasNotified = false; 70 92 71 93 // remove non-present worker 72 94 std::cout << "The following error message is intended and does not indicate a failure." << std::endl; 73 95 CPPUNIT_ASSERT( !pool->removeWorker(otheraddress) ); 96 CPPUNIT_ASSERT( !addobserver->wasNotified ); 97 CPPUNIT_ASSERT( !removeobserver->wasNotified ); 98 CPPUNIT_ASSERT( !idleobserver->wasNotified ); 74 99 75 100 // check for presence … … 82 107 CPPUNIT_ASSERT_EQUAL( (size_t)0, pool->busy_queue.size() ); 83 108 CPPUNIT_ASSERT_EQUAL( (size_t)0, pool->pool.size() ); 109 CPPUNIT_ASSERT( !addobserver->wasNotified ); 110 CPPUNIT_ASSERT( removeobserver->wasNotified ); 111 CPPUNIT_ASSERT( !idleobserver->wasNotified ); 112 removeobserver->wasNotified = false; 84 113 } 85 114 … … 96 125 CPPUNIT_ASSERT_EQUAL( (size_t)0, pool->busy_queue.size() ); 97 126 CPPUNIT_ASSERT_EQUAL( (size_t)1, pool->pool.size() ); 127 CPPUNIT_ASSERT( addobserver->wasNotified ); 128 CPPUNIT_ASSERT( !removeobserver->wasNotified ); 129 CPPUNIT_ASSERT( idleobserver->wasNotified ); 130 addobserver->wasNotified = false; 131 idleobserver->wasNotified = false; 98 132 99 133 // unmark and check … … 120 154 CPPUNIT_ASSERT_EQUAL( (size_t)0, pool->idle_queue.size() ); 121 155 CPPUNIT_ASSERT_EQUAL( (size_t)1, pool->busy_queue.size() ); 156 CPPUNIT_ASSERT( !addobserver->wasNotified ); 157 CPPUNIT_ASSERT( !removeobserver->wasNotified ); 158 CPPUNIT_ASSERT( !idleobserver->wasNotified ); 122 159 123 160 // unmark and check … … 126 163 CPPUNIT_ASSERT_EQUAL( (size_t)1, pool->idle_queue.size() ); 127 164 CPPUNIT_ASSERT_EQUAL( (size_t)0, pool->busy_queue.size() ); 165 CPPUNIT_ASSERT( !addobserver->wasNotified ); 166 CPPUNIT_ASSERT( !removeobserver->wasNotified ); 167 CPPUNIT_ASSERT( idleobserver->wasNotified ); 128 168 } -
src/Fragmentation/Automation/unittests/WorkerPoolUnitTest.hpp
rd6b12c rfb255d 18 18 19 19 class WorkerPool; 20 class NotificationObserver; 20 21 21 22 /********************************************** Test classes **************************************/ … … 36 37 private: 37 38 WorkerPool *pool; 39 NotificationObserver *addobserver; 40 NotificationObserver *removeobserver; 41 NotificationObserver *idleobserver; 38 42 }; 39 43
Note:
See TracChangeset
for help on using the changeset viewer.