Changeset 0180d6 for src/Parser/unittests
- Timestamp:
- Mar 1, 2011, 10:16:37 AM (14 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:
- 637358
- Parents:
- c6aeb1
- git-author:
- Frederik Heber <heber@…> (02/18/11 18:50:08)
- git-committer:
- Frederik Heber <heber@…> (03/01/11 10:16:37)
- Location:
- src/Parser/unittests
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/unittests/ParserXyzUnitTest.cpp
rc6aeb1 r0180d6 40 40 CPPUNIT_TEST_SUITE_REGISTRATION( ParserXyzUnitTest ); 41 41 42 static string waterXyz = "3\n\tH2O: water molecule\nO\t0\t0\t0\nH\t0.758602\t0\t0.504284\nH\t0.758602\t0\t-0.504284\n"; 42 static string waterXyz = "\ 43 3\n\ 44 \tH2O: water molecule\n\ 45 O\t0\t0\t0\n\ 46 H\t0.758602\t0\t0.504284\n\ 47 H\t0.758602\t0\t-0.504284\n"; 48 static string waterMultiXyz = "\ 49 3\n\ 50 \tH2O: water molecule, time step 0\n\ 51 O\t0\t0\t0\n\ 52 H\t0.758602\t0\t0.504284\n\ 53 H\t0.758602\t0\t-0.504284\n\ 54 3\n\ 55 \tH2O: water molecule, time step 1\n\ 56 O\t0\t0\t0\n\ 57 H\t0.76\t0\t0.504284\n\ 58 H\t0.756\t0\t-0.504284\n"; 43 59 44 60 void ParserXyzUnitTest::setUp() { … … 95 111 } 96 112 } 113 114 void ParserXyzUnitTest::readMultiXyzTest() { 115 cout << "Testing the multi time step XYZ parser." << endl; 116 XyzParser* testParser = new XyzParser(); 117 stringstream input; 118 input << waterMultiXyz; 119 testParser->load(&input); 120 input.clear(); 121 122 // 3 not 6 atoms! 123 CPPUNIT_ASSERT_EQUAL(3, World::getInstance().numAtoms()); 124 125 // check for trajectory size 126 BOOST_FOREACH (atom *_atom, World::getInstance().getAllAtoms()) 127 CPPUNIT_ASSERT_EQUAL((size_t) 2, _atom->getTrajectorySize()); 128 } 129 130 void ParserXyzUnitTest::writeMultiXyzTest() { 131 XyzParser* testParser = new XyzParser(); 132 stringstream input; 133 input << waterMultiXyz; 134 testParser->load(&input); 135 input.clear(); 136 137 // 3 not 6 atoms! 138 CPPUNIT_ASSERT_EQUAL(3, World::getInstance().numAtoms()); 139 140 // store and parse in again 141 { 142 stringstream output; 143 std::vector<atom *> atoms = World::getInstance().getAllAtoms(); 144 testParser->save(&output, atoms); 145 input << output.str(); 146 testParser->load(&input); 147 } 148 149 // now twice as many 150 CPPUNIT_ASSERT_EQUAL(6, World::getInstance().numAtoms()); 151 152 // check for trajectory size of all 6! atoms 153 BOOST_FOREACH (atom *_atom, World::getInstance().getAllAtoms()) 154 CPPUNIT_ASSERT_EQUAL((size_t) 2, _atom->getTrajectorySize()); 155 156 // check every atom 157 std::vector<atom *> atoms = World::getInstance().getAllAtoms(); 158 std::vector<atom *>::const_iterator firstiter = atoms.begin(); 159 std::vector<atom *>::const_iterator seconditer = atoms.begin(); 160 for (size_t i=0;i<3;i++) 161 ++seconditer; 162 for (; 163 seconditer != atoms.end(); 164 ++firstiter,++seconditer) { 165 CPPUNIT_ASSERT_EQUAL((*firstiter)->getType(),(*seconditer)->getType()); 166 for (unsigned int step = 0; step < 2; ++step) { 167 // check position and type (only stuff xyz stores) 168 CPPUNIT_ASSERT_EQUAL( 169 (*firstiter)->getPositionAtStep(step), 170 (*seconditer)->getPositionAtStep(step)); 171 } 172 } 173 } -
src/Parser/unittests/ParserXyzUnitTest.hpp
rc6aeb1 r0180d6 21 21 CPPUNIT_TEST_SUITE( ParserXyzUnitTest ) ; 22 22 CPPUNIT_TEST ( rewriteAnXyzTest ); 23 CPPUNIT_TEST ( readMultiXyzTest ); 24 CPPUNIT_TEST ( writeMultiXyzTest ); 23 25 CPPUNIT_TEST_SUITE_END(); 24 26 … … 28 30 29 31 void rewriteAnXyzTest(); 32 void readMultiXyzTest(); 33 void writeMultiXyzTest(); 30 34 }; 31 35
Note:
See TracChangeset
for help on using the changeset viewer.