Changeset 1b145f


Ignore:
Timestamp:
Oct 18, 2011, 8:07:56 AM (13 years ago)
Author:
Frederik Heber <heber@…>
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:
942906
Parents:
9758f7
git-author:
Frederik Heber <heber@…> (09/16/11 17:06:19)
git-committer:
Frederik Heber <heber@…> (10/18/11 08:07:56)
Message:

Added operator==() to KeySetsContainer and MatrixContainer.

  • also added unit test functions for both.
Location:
src/Fragmentation
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/KeySetsContainer.cpp

    r9758f7 r1b145f  
    178178};
    179179
     180/** Comparison operator for class KeySetsContainer.
     181 *
     182 * @param other instance to compare to
     183 * @return true - both instances are the same in each member variable.
     184 */
     185bool KeySetsContainer::operator==(const KeySetsContainer &other) const
     186{
     187  // compare KeySets
     188  if (KeySets != other.KeySets)
     189    return false;
     190  // compare OrderSet
     191  if (OrderSet != other.OrderSet)
     192    return false;
     193  // compare AtomCounter
     194  if (AtomCounter != other.AtomCounter)
     195    return false;
     196  // compare FragmentCounter
     197  if (FragmentCounter != other.FragmentCounter)
     198    return false;
     199  // compare Order
     200  if (Order != other.Order)
     201    return false;
     202  // compare FragmentsPerOrder
     203  if (FragmentsPerOrder != other.FragmentsPerOrder)
     204    return false;
     205
     206  return true;
     207}
  • src/Fragmentation/KeySetsContainer.hpp

    r9758f7 r1b145f  
    3535  bool ParseManyBodyTerms();
    3636  bool Contains(const int GreaterSet, const int SmallerSet);
     37
     38  bool operator==(const KeySetsContainer &other) const;
     39
     40  bool operator!=(const KeySetsContainer &other) const {
     41    return !(*this == other);
     42  }
    3743};
    3844
  • src/Fragmentation/MatrixContainer.cpp

    r9758f7 r1b145f  
    481481};
    482482
     483/** Comparison operator for class MatrixContainer.
     484 *
     485 * @param other instance to compare to
     486 * @return true - both instances are the same in each member variable.
     487 */
     488bool MatrixContainer::operator==(const MatrixContainer &other) const
     489{
     490  // compare matrices
     491  if (Matrix != other.Matrix)
     492    return false;
     493  // compare Indices
     494  if (Indices != other.Indices)
     495    return false;
     496  // compare Headers
     497  if (Header != other.Header)
     498    return false;
     499  // compare MatrixCounter
     500  if (MatrixCounter != other.MatrixCounter)
     501    return false;
     502  // compare RowCounter
     503  if (RowCounter != other.RowCounter)
     504    return false;
     505  // compare ColumnCounter
     506  if (ColumnCounter != other.ColumnCounter)
     507    return false;
     508  return true;
     509}
     510
    483511std::ostream & operator << (std::ostream &ost, const MatrixContainer &m)
    484512{
     
    495523  return ost;
    496524}
     525
  • src/Fragmentation/MatrixContainer.hpp

    r9758f7 r1b145f  
    5151  bool WriteTotalFragments(const std::string name, const std::string prefix);
    5252  bool WriteLastMatrix(const std::string name, const std::string prefix, const std::string suffix);
     53
     54  bool operator==(const MatrixContainer &other) const;
     55
     56  bool operator!=(const MatrixContainer &other) const {
     57    return !(*this == other);
     58  }
    5359};
    5460
  • src/Fragmentation/unittests/KeySetsContainerUnitTest.cpp

    r9758f7 r1b145f  
    2424#include <cppunit/ui/text/TestRunner.h>
    2525
     26#include "Fragmentation/KeySetsContainer.hpp"
     27
    2628#include "KeySetsContainerUnitTest.hpp"
    2729
     
    3840void KeySetsContainerTest::setUp()
    3941{
    40 
     42  Keys = new KeySetsContainer();
    4143};
    4244
     
    4446void KeySetsContainerTest::tearDown()
    4547{
     48  delete Keys;
     49};
     50
     51/** UnitTest for operator==()
     52 */
     53void KeySetsContainerTest::EqualityTest()
     54{
     55  // compare to self
     56  CPPUNIT_ASSERT( *Keys == *Keys );
     57
     58  // create other instance
     59  KeySetsContainer *Keys2 = new KeySetsContainer();
     60  CPPUNIT_ASSERT( *Keys == *Keys2 );
     61  Keys2->Order = 2;
     62  CPPUNIT_ASSERT( *Keys != *Keys2 );
     63  delete Keys2;
    4664};
    4765
  • src/Fragmentation/unittests/KeySetsContainerUnitTest.hpp

    r9758f7 r1b145f  
    2424{
    2525    CPPUNIT_TEST_SUITE( KeySetsContainerTest) ;
     26    CPPUNIT_TEST ( EqualityTest );
    2627    CPPUNIT_TEST ( SerializationTest );
    2728    CPPUNIT_TEST_SUITE_END();
     
    3031      void setUp();
    3132      void tearDown();
     33      void EqualityTest();
    3234      void SerializationTest();
    3335
  • src/Fragmentation/unittests/Makefile.am

    r9758f7 r1b145f  
    1919
    2020FRAGMENTATIONLIBS = \
    21         ../libMolecuilder.la \
     21        ../libMolecuilderFragmentation.la \
     22        ../libMolecuilderHelpers.la \
    2223        ${CodePatterns_LIBS} \
    2324        $(BOOST_LIB)
  • src/Fragmentation/unittests/MatrixContainerUnitTest.cpp

    r9758f7 r1b145f  
    2424#include <cppunit/ui/text/TestRunner.h>
    2525
     26#include "Fragmentation/MatrixContainer.hpp"
     27
    2628#include "MatrixContainerUnitTest.hpp"
    2729
     
    3840void MatrixContainerTest::setUp()
    3941{
    40 
     42  MC = new MatrixContainer();
    4143};
    4244
     
    4446void MatrixContainerTest::tearDown()
    4547{
     48  delete MC;
     49};
     50
     51/** UnitTest for operator==()
     52 */
     53void MatrixContainerTest::EqualityTest()
     54{
     55  // compare to self
     56  CPPUNIT_ASSERT( *MC == *MC );
     57
     58  // create other instance
     59  MatrixContainer *MC2 = new MatrixContainer();
     60  CPPUNIT_ASSERT( *MC == *MC2 );
     61  MC2->MatrixCounter = 2;
     62  CPPUNIT_ASSERT( *MC != *MC2 );
     63  delete MC2;
    4664};
    4765
  • src/Fragmentation/unittests/MatrixContainerUnitTest.hpp

    r9758f7 r1b145f  
    2424{
    2525    CPPUNIT_TEST_SUITE( MatrixContainerTest) ;
     26    CPPUNIT_TEST ( EqualityTest );
    2627    CPPUNIT_TEST ( SerializationTest );
    2728    CPPUNIT_TEST_SUITE_END();
     
    3031      void setUp();
    3132      void tearDown();
     33      void EqualityTest();
    3234      void SerializationTest();
    3335
    3436private:
    35       MatrixContainer *Keys;
     37      MatrixContainer *MC;
    3638
    3739};
Note: See TracChangeset for help on using the changeset viewer.