Changeset 57adc7
- Timestamp:
- Mar 4, 2010, 10:33:44 AM (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:
- 31af19, 66e95e, bd58fb
- Parents:
- 88d586
- Location:
- src
- Files:
-
- 5 added
- 7 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
src/Makefile.am
r88d586 r57adc7 29 29 LEGACYHEADER = Legacy/oldmenu.hpp 30 30 31 DESCRIPTORSOURCE = Descriptors/AtomDescriptor.cpp Descriptors/AtomIdDescriptor.cpp Descriptors/AtomTypeDescriptor.cpp Descriptors/MoleculeDescriptor.cpp 32 DESCRIPTORHEADER = Descriptors/AtomDescriptor.hpp Descriptors/AtomIdDescriptor.hpp Descriptors/AtomTypeDescriptor.hpp Descriptors/MoleculeDescriptor.hpp 31 DESCRIPTORSOURCE = Descriptors/AtomDescriptor.cpp \ 32 Descriptors/AtomIdDescriptor.cpp \ 33 Descriptors/AtomTypeDescriptor.cpp \ 34 Descriptors/MoleculeDescriptor.cpp \ 35 Descriptors/MoleculeIdDescriptor.cpp 36 37 DESCRIPTORHEADER = Descriptors/AtomDescriptor.hpp \ 38 Descriptors/AtomIdDescriptor.hpp \ 39 Descriptors/AtomTypeDescriptor.hpp \ 40 Descriptors/MoleculeDescriptor.hpp \ 41 Descriptors/MoleculeIdDescriptor.hpp 33 42 34 43 SOURCE = ${ANALYSISSOURCE} ${ATOMSOURCE} ${PATTERNSOURCE} ${UISOURCE} ${DESCRIPTORSOURCE} ${LEGACYSOURCE} bond.cpp bondgraph.cpp boundary.cpp config.cpp element.cpp ellipsoid.cpp errorlogger.cpp graph.cpp helpers.cpp info.cpp leastsquaremin.cpp linkedcell.cpp lists.cpp log.cpp logger.cpp memoryusageobserver.cpp moleculelist.cpp molecule.cpp molecule_dynamics.cpp molecule_fragmentation.cpp molecule_geometry.cpp molecule_graph.cpp molecule_pointcloud.cpp parser.cpp periodentafel.cpp tesselation.cpp tesselationhelpers.cpp vector.cpp verbose.cpp World.cpp WorldIterators.cpp -
src/World.cpp
r88d586 r57adc7 159 159 /******************************* IDManagement *****************************/ 160 160 161 // Atoms 162 161 163 atomId_t World::getNextAtomId(){ 162 164 // see if we can reuse some Id … … 199 201 } 200 202 } 203 204 // Molecules 205 201 206 /******************************* Iterators ********************************/ 202 207 -
src/atom.cpp
r88d586 r57adc7 306 306 } 307 307 308 int atom::getId() {308 atomId_t atom::getId() { 309 309 return id; 310 310 } -
src/atom.hpp
r88d586 r57adc7 79 79 void setWorld(World*); 80 80 81 virtual int getId();81 virtual atomId_t getId(); 82 82 virtual bool changeId(atomId_t newId); 83 83 -
src/unittests/AtomDescriptorTest.cpp
r88d586 r57adc7 6 6 */ 7 7 8 #include " DescriptorUnittest.hpp"8 #include "AtomDescriptorTest.hpp" 9 9 10 10 #include <cppunit/CompilerOutputter.h> … … 25 25 /********************************************** Test classes **************************************/ 26 26 // Registers the fixture into the 'registry' 27 CPPUNIT_TEST_SUITE_REGISTRATION( DescriptorUnittest );27 CPPUNIT_TEST_SUITE_REGISTRATION( AtomDescriptorTest ); 28 28 29 29 // set up and tear down 30 void DescriptorUnittest::setUp(){30 void AtomDescriptorTest::setUp(){ 31 31 World::get(); 32 32 for(int i=0;i<ATOM_COUNT;++i){ 33 33 atoms[i]= World::get()->createAtom(); 34 atomIds[i] 34 atomIds[i]= atoms[i]->getId(); 35 35 } 36 36 } 37 void DescriptorUnittest::tearDown(){ 37 38 void AtomDescriptorTest::tearDown(){ 38 39 World::destroy(); 39 40 } 40 41 41 42 // some helper functions 42 bool hasAll(std::vector<atom*> atoms,int ids[ATOM_COUNT], std::set<int> excluded = std::set<int>()){43 static bool hasAllAtoms(std::vector<atom*> atoms,atomId_t ids[ATOM_COUNT], std::set<atomId_t> excluded = std::set<atomId_t>()){ 43 44 for(int i=0;i<ATOM_COUNT;++i){ 44 int id = ids[i];45 atomId_t id = ids[i]; 45 46 if(!excluded.count(id)){ 46 47 std::vector<atom*>::iterator iter; … … 58 59 } 59 60 60 bool hasNoDuplicates(std::vector<atom*> atoms){61 std::set< int> found;61 static bool hasNoDuplicateAtoms(std::vector<atom*> atoms){ 62 std::set<atomId_t> found; 62 63 std::vector<atom*>::iterator iter; 63 64 for(iter=atoms.begin();iter!=atoms.end();++iter){ … … 71 72 72 73 73 void DescriptorUnittest::AtomBaseSetsTest(){74 void AtomDescriptorTest::AtomBaseSetsTest(){ 74 75 std::vector<atom*> allAtoms = World::get()->getAllAtoms(AllAtoms()); 75 CPPUNIT_ASSERT_EQUAL( true , hasAll (allAtoms,atomIds));76 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicate s(allAtoms));76 CPPUNIT_ASSERT_EQUAL( true , hasAllAtoms(allAtoms,atomIds)); 77 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicateAtoms(allAtoms)); 77 78 78 79 std::vector<atom*> noAtoms = World::get()->getAllAtoms(NoAtoms()); 79 80 CPPUNIT_ASSERT_EQUAL( true , noAtoms.empty()); 80 81 } 81 void DescriptorUnittest::AtomIdTest(){82 void AtomDescriptorTest::AtomIdTest(){ 82 83 // test Atoms from boundaries and middle of the set 83 84 atom* testAtom; … … 93 94 94 95 // find some ID that has not been created 95 int outsideId =-1;96 atomId_t outsideId=0; 96 97 bool res = false; 97 while(!res) { 98 ++outsideId; 98 for(outsideId=0;!res;++outsideId) { 99 99 res = true; 100 100 for(int i = 0; i < ATOM_COUNT; ++i){ … … 106 106 CPPUNIT_ASSERT(!testAtom); 107 107 } 108 void DescriptorUnittest::AtomCalcTest(){108 void AtomDescriptorTest::AtomCalcTest(){ 109 109 // test some elementary set operations 110 110 { 111 111 std::vector<atom*> testAtoms = World::get()->getAllAtoms(AllAtoms()||NoAtoms()); 112 CPPUNIT_ASSERT_EQUAL( true , hasAll (testAtoms,atomIds));113 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicate s(testAtoms));112 CPPUNIT_ASSERT_EQUAL( true , hasAllAtoms(testAtoms,atomIds)); 113 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicateAtoms(testAtoms)); 114 114 } 115 115 116 116 { 117 117 std::vector<atom*> testAtoms = World::get()->getAllAtoms(NoAtoms()||AllAtoms()); 118 CPPUNIT_ASSERT_EQUAL( true , hasAll (testAtoms,atomIds));119 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicate s(testAtoms));118 CPPUNIT_ASSERT_EQUAL( true , hasAllAtoms(testAtoms,atomIds)); 119 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicateAtoms(testAtoms)); 120 120 } 121 121 … … 137 137 { 138 138 std::vector<atom*> testAtoms = World::get()->getAllAtoms(!NoAtoms()); 139 CPPUNIT_ASSERT_EQUAL( true , hasAll (testAtoms,atomIds));140 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicate s(testAtoms));139 CPPUNIT_ASSERT_EQUAL( true , hasAllAtoms(testAtoms,atomIds)); 140 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicateAtoms(testAtoms)); 141 141 } 142 142 … … 144 144 { 145 145 std::vector<atom*> testAtoms = World::get()->getAllAtoms(AllAtoms()&&(!AtomById(atomIds[ATOM_COUNT/2]))); 146 std::set< int> excluded;146 std::set<atomId_t> excluded; 147 147 excluded.insert(atomIds[ATOM_COUNT/2]); 148 CPPUNIT_ASSERT_EQUAL( true , hasAll (testAtoms,atomIds,excluded));149 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicate s(testAtoms));148 CPPUNIT_ASSERT_EQUAL( true , hasAllAtoms(testAtoms,atomIds,excluded)); 149 CPPUNIT_ASSERT_EQUAL( true , hasNoDuplicateAtoms(testAtoms)); 150 150 CPPUNIT_ASSERT_EQUAL( (size_t)(ATOM_COUNT-1), testAtoms.size()); 151 151 } -
src/unittests/AtomDescriptorTest.hpp
r88d586 r57adc7 1 1 /* 2 * DescriptorUnittest.hpp2 * AtomDescriptorTest.hpp 3 3 * 4 4 * Created on: Feb 9, 2010 … … 6 6 */ 7 7 8 #ifndef DESCRIPTORUNITTEST_HPP_9 #define DESCRIPTORUNITTEST_HPP_8 #ifndef ATOMDESCRIPTORTEST_HPP_ 9 #define ATOMDESCRIPTORTEST_HPP_ 10 10 11 11 #include <cppunit/extensions/HelperMacros.h> 12 13 #include "defs.hpp" 12 14 13 15 #define ATOM_COUNT (10) … … 15 17 class atom; 16 18 17 class DescriptorUnittest : public CppUnit::TestFixture19 class AtomDescriptorTest : public CppUnit::TestFixture 18 20 { 19 CPPUNIT_TEST_SUITE( DescriptorUnittest );21 CPPUNIT_TEST_SUITE( AtomDescriptorTest ); 20 22 CPPUNIT_TEST ( AtomBaseSetsTest ); 21 23 CPPUNIT_TEST ( AtomIdTest ); … … 33 35 private: 34 36 atom *atoms [ATOM_COUNT]; 35 int atomIds [ATOM_COUNT];37 atomId_t atomIds [ATOM_COUNT]; 36 38 }; 37 39 38 #endif /* DESCRIPTORUNITTEST_HPP_ */40 #endif /* ATOMDESCRIPTORTEST_HPP_ */ -
src/unittests/Makefile.am
r88d586 r57adc7 12 12 AnalysisCorrelationToSurfaceUnitTest \ 13 13 AnalysisPairCorrelationUnitTest \ 14 atomsCalculationTest \ 15 AtomDescriptorTest \ 14 16 BondGraphUnitTest \ 17 CacheableTest \ 15 18 GSLMatrixSymmetricUnitTest \ 16 19 GSLMatrixUnitTest \ … … 20 23 ListOfBondsUnitTest \ 21 24 LogUnitTest \ 25 manipulateAtomsTest \ 22 26 MemoryUsageObserverUnitTest \ 23 27 MemoryAllocatorUnitTest \ 28 MoleculeDescriptorTest \ 29 ObserverTest \ 24 30 StackClassUnitTest \ 25 31 TesselationUnitTest \ … … 27 33 Tesselation_InOutsideUnitTest \ 28 34 VectorUnitTest \ 29 ObserverTest \30 CacheableTest \31 DescriptorUnittest \32 manipulateAtomsTest \33 atomsCalculationTest \34 35 ${MENUTESTS} 35 36 … … 45 46 TESTSOURCES = \ 46 47 ActOnAllUnitTest.cpp \ 48 ActionSequenceTest.cpp \ 47 49 analysisbondsunittest.cpp \ 48 50 AnalysisCorrelationToPointUnitTest.cpp \ 49 51 AnalysisCorrelationToSurfaceUnitTest.cpp \ 50 52 AnalysisPairCorrelationUnitTest.cpp \ 53 AtomDescriptorTest.cpp \ 54 atomsCalculationTest.cpp \ 51 55 bondgraphunittest.cpp \ 56 CacheableTest.cpp \ 52 57 gslmatrixsymmetricunittest.cpp \ 53 58 gslmatrixunittest.cpp \ … … 57 62 listofbondsunittest.cpp \ 58 63 logunittest.cpp \ 64 manipulateAtomsTest.cpp \ 59 65 memoryallocatorunittest.cpp \ 60 66 memoryusageobserverunittest.cpp \ 67 MoleculeDescriptorTest.cpp \ 68 ObserverTest.cpp \ 61 69 stackclassunittest.cpp \ 62 70 tesselationunittest.cpp \ 63 71 tesselation_boundarytriangleunittest.cpp \ 64 72 tesselation_insideoutsideunittest.cpp \ 65 vectorunittest.cpp \ 66 ObserverTest.cpp \ 67 CacheableTest.cpp \ 68 DescriptorUnittest.cpp \ 69 manipulateAtomsTest.cpp \ 70 atomsCalculationTest.cpp \ 71 ActionSequenceTest.cpp 73 vectorunittest.cpp 72 74 73 75 TESTHEADERS = \ … … 119 121 MemoryUsageObserverUnitTest_LDADD = ${ALLLIBS} 120 122 123 MoleculeDescriptorTest_SOURCES = UnitTestMain.cpp MoleculeDescriptorTest.cpp MoleculeDescriptorTest.hpp 124 MoleculeDescriptorTest_LDADD = ${ALLLIBS} 125 121 126 StackClassUnitTest_SOURCES = UnitTestMain.cpp stackclassunittest.cpp stackclassunittest.hpp 122 127 StackClassUnitTest_LDADD = ${ALLLIBS} … … 143 148 CacheableTest_LDADD = ${ALLLIBS} 144 149 145 DescriptorUnittest_SOURCES = UnitTestMain.cpp DescriptorUnittest.cpp DescriptorUnittest.hpp146 DescriptorUnittest_LDADD = ${ALLLIBS}150 AtomDescriptorTest_SOURCES = UnitTestMain.cpp AtomDescriptorTest.cpp AtomDescriptorTest.hpp 151 AtomDescriptorTest_LDADD = ${ALLLIBS} 147 152 148 153 manipulateAtomsTest_SOURCES = UnitTestMain.cpp manipulateAtomsTest.cpp manipulateAtomsTest.hpp -
src/unittests/atomsCalculationTest.cpp
r88d586 r57adc7 30 30 class AtomStub : public atom { 31 31 public: 32 AtomStub( int _id) :32 AtomStub(atomId_t _id) : 33 33 atom(), 34 34 id(_id), … … 36 36 {} 37 37 38 virtual int getId(){38 virtual atomId_t getId(){ 39 39 return id; 40 40 } … … 46 46 bool manipulated; 47 47 private: 48 int id;48 atomId_t id; 49 49 }; 50 50 -
src/unittests/manipulateAtomsTest.cpp
r88d586 r57adc7 34 34 {} 35 35 36 virtual int getId(){36 virtual atomId_t getId(){ 37 37 return id; 38 38 } … … 44 44 bool manipulated; 45 45 private: 46 int id;46 atomId_t id; 47 47 }; 48 48
Note:
See TracChangeset
for help on using the changeset viewer.