Changeset 31fb1d for src/unittests
- Timestamp:
- Aug 11, 2010, 2:58:43 PM (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:
- 2b7d1b
- Parents:
- 03c902
- Location:
- src/unittests
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/unittests/MatrixUnittest.cpp
r03c902 r31fb1d 14 14 #include <cppunit/extensions/TestFactoryRegistry.h> 15 15 #include <cppunit/ui/text/TestRunner.h> 16 17 #include <cmath> 16 18 17 19 #include "MatrixUnittest.hpp" … … 156 158 } 157 159 } 160 } 161 162 void MatrixUnittest::TransposeTest(){ 163 Matrix res; 164 165 // transpose of unit is unit 166 res.one(); 167 (const Matrix)res.transpose(); 168 CPPUNIT_ASSERT_EQUAL(res,*one); 169 170 // transpose of transpose is same matrix 171 res.zero(); 172 res.set(2,2, 1.); 173 CPPUNIT_ASSERT_EQUAL(res.transpose().transpose(),res); 158 174 } 159 175 … … 230 246 } 231 247 248 void MatrixUnittest::RotationTest(){ 249 Matrix res; 250 Matrix inverse; 251 252 // zero rotation angles yields unity matrix 253 res.rotation(0,0,0); 254 CPPUNIT_ASSERT_EQUAL(*one, res); 255 256 // arbitrary rotation matrix has det = 1 257 res.rotation(M_PI/3.,1.,M_PI/7.); 258 CPPUNIT_ASSERT(fabs(fabs(res.determinant()) -1.) < MYEPSILON); 259 260 // inverse is rotation matrix with negative angles 261 res.rotation(M_PI/3.,0.,0.); 262 inverse.rotation(-M_PI/3.,0.,0.); 263 CPPUNIT_ASSERT_EQUAL(*one, res * inverse); 264 265 // ... or transposed 266 res.rotation(M_PI/3.,0.,0.); 267 CPPUNIT_ASSERT_EQUAL(inverse, ((const Matrix) res).transpose()); 268 } 232 269 233 270 void MatrixUnittest::InvertTest(){ -
src/unittests/MatrixUnittest.hpp
r03c902 r31fb1d 19 19 CPPUNIT_TEST ( VectorTest ); 20 20 CPPUNIT_TEST ( OperationTest ); 21 CPPUNIT_TEST ( TransposeTest ); 22 CPPUNIT_TEST ( RotationTest ); 21 23 CPPUNIT_TEST ( InvertTest ); 22 24 CPPUNIT_TEST ( DeterminantTest ); … … 31 33 void VectorTest(); 32 34 void OperationTest(); 35 void TransposeTest(); 36 void RotationTest(); 33 37 void InvertTest(); 34 38 void DeterminantTest();
Note:
See TracChangeset
for help on using the changeset viewer.