Changeset 67db80 for src/Fragmentation/Homology
- Timestamp:
- Dec 13, 2012, 9:32:50 AM (12 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:
- 12a24c
- Parents:
- e15ffe
- git-author:
- Frederik Heber <heber@…> (09/27/12 13:23:40)
- git-committer:
- Frederik Heber <heber@…> (12/13/12 09:32:50)
- Location:
- src/Fragmentation/Homology
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Fragmentation/Homology/FragmentEdge.cpp
re15ffe r67db80 34 34 #include <config.h> 35 35 #endif 36 37 // include headers that implement a archive in simple text format 38 // otherwise BOOST_CLASS_EXPORT_IMPLEMENT has no effect 39 #include <boost/archive/text_oarchive.hpp> 40 #include <boost/archive/text_iarchive.hpp> 36 41 37 42 #include "CodePatterns/MemDebug.hpp" … … 118 123 return out; 119 124 } 125 126 127 // we need to explicitly instantiate the serialization functions 128 BOOST_CLASS_EXPORT_IMPLEMENT(FragmentEdge) -
src/Fragmentation/Homology/FragmentEdge.hpp
re15ffe r67db80 13 13 #include <config.h> 14 14 #endif 15 16 #include <boost/serialization/export.hpp> 17 #include <boost/serialization/utility.hpp> 15 18 16 19 #include <iosfwd> … … 42 45 //!> stores the atomic number of either FragmentNode making up the edge 43 46 const AtomicNumberPair_t AtomicNumberPair; 47 48 private: 49 friend class boost::serialization::access; 50 // serialization 51 template <typename Archive> 52 void serialize(Archive& ar, const unsigned int version) 53 { 54 ar & const_cast<AtomicNumberPair_t &>(AtomicNumberPair); 55 } 44 56 }; 57 58 // we need to give this class a unique key for serialization 59 BOOST_CLASS_EXPORT_KEY(FragmentEdge) 45 60 46 61 std::ostream& operator<<(std::ostream &out, const FragmentEdge &node); -
src/Fragmentation/Homology/FragmentNode.cpp
re15ffe r67db80 34 34 #include <config.h> 35 35 #endif 36 37 // include headers that implement a archive in simple text format 38 // otherwise BOOST_CLASS_EXPORT_IMPLEMENT has no effect 39 #include <boost/archive/text_oarchive.hpp> 40 #include <boost/archive/text_iarchive.hpp> 36 41 37 42 #include "CodePatterns/MemDebug.hpp" … … 102 107 return out; 103 108 } 109 110 111 // we need to explicitly instantiate the serialization functions 112 BOOST_CLASS_EXPORT_IMPLEMENT(FragmentNode) -
src/Fragmentation/Homology/FragmentNode.hpp
re15ffe r67db80 13 13 #include <config.h> 14 14 #endif 15 16 #include <boost/serialization/export.hpp> 15 17 16 18 #include <iosfwd> … … 71 73 //!> number of connecting edges 72 74 const size_t ConnectedEdges; 75 76 private: 77 friend class boost::serialization::access; 78 // serialization 79 template <typename Archive> 80 void serialize(Archive& ar, const unsigned int version) 81 { 82 ar & const_cast<size_t &>(AtomicNumber); 83 ar & const_cast<size_t &>(ConnectedEdges); 84 } 73 85 }; 86 87 // we need to give this class a unique key for serialization 88 BOOST_CLASS_EXPORT_KEY(FragmentNode) 74 89 75 90 std::ostream& operator<<(std::ostream &out, const FragmentNode &node); -
src/Fragmentation/Homology/HomologyGraph.cpp
re15ffe r67db80 34 34 #include <config.h> 35 35 #endif 36 37 // include headers that implement a archive in simple text format 38 // otherwise BOOST_CLASS_EXPORT_IMPLEMENT has no effect 39 #include <boost/archive/text_oarchive.hpp> 40 #include <boost/archive/text_iarchive.hpp> 36 41 37 42 #include "CodePatterns/MemDebug.hpp" … … 106 111 } 107 112 113 // we need to explicitly instantiate the serialization functions 114 BOOST_CLASS_EXPORT_IMPLEMENT(HomologyGraph) 115 -
src/Fragmentation/Homology/HomologyGraph.hpp
re15ffe r67db80 14 14 #include <config.h> 15 15 #endif 16 17 #include <boost/serialization/export.hpp> 18 #include <boost/serialization/set.hpp> 16 19 17 20 #include <set> … … 95 98 //!> information on the edges of the graph 96 99 const edges_t edges; 100 101 private: 102 friend class boost::serialization::access; 103 // serialization 104 template <typename Archive> 105 void serialize(Archive& ar, const unsigned int version) 106 { 107 ar & const_cast<nodes_t &>(nodes); 108 ar & const_cast<edges_t &>(edges); 109 } 97 110 }; 98 111 99 112 std::ostream& operator<<(std::ostream& ost, const HomologyGraph &graph); 113 114 // we need to give this class a unique key for serialization 115 BOOST_CLASS_EXPORT_KEY(HomologyGraph) 100 116 101 117 // define some helpers outside to allow for light-weight unit testing -
src/Fragmentation/Homology/HomologyGraph_getFromKeyset.cpp
re15ffe r67db80 47 47 #include "World.hpp" 48 48 49 // we have placed these functions into an extra module to allow compiling the 50 // unit tests which do no require them against dummy units which do not pull 51 // in all the cludder of World, atom, molecule, and so on ... 52 49 53 namespace detail { 50 54 const HomologyGraph::nodes_t getNodesFromKeySet(const KeySet &keyset) -
src/Fragmentation/Homology/unittests/FragmentEdgeUnitTest.cpp
re15ffe r67db80 48 48 49 49 #include "CodePatterns/Assert.hpp" 50 51 #include <sstream> 50 52 51 53 #ifdef HAVE_TESTRUNNER … … 134 136 CPPUNIT_ASSERT( edge == edge); 135 137 } 138 139 140 /** UnitTest for serialization 141 */ 142 void FragmentEdgeTest::serializeTest() 143 { 144 FragmentEdge edge(1,1); 145 // serialize 146 std::stringstream outputstream; 147 boost::archive::text_oarchive oa(outputstream); 148 oa << edge; 149 150 // deserialize 151 FragmentEdge sameedge; 152 std::stringstream returnstream(outputstream.str()); 153 boost::archive::text_iarchive ia(returnstream); 154 ia >> sameedge; 155 156 CPPUNIT_ASSERT( edge == sameedge ); 157 } -
src/Fragmentation/Homology/unittests/FragmentEdgeUnitTest.hpp
re15ffe r67db80 26 26 CPPUNIT_TEST ( comparatorTest ); 27 27 CPPUNIT_TEST ( assignmentTest ); 28 CPPUNIT_TEST ( serializeTest ); 28 29 CPPUNIT_TEST_SUITE_END(); 29 30 … … 33 34 void comparatorTest(); 34 35 void assignmentTest(); 36 void serializeTest(); 35 37 36 38 }; -
src/Fragmentation/Homology/unittests/FragmentNodeUnitTest.cpp
re15ffe r67db80 49 49 50 50 #include "CodePatterns/Assert.hpp" 51 #include <sstream> 51 52 52 53 #ifdef HAVE_TESTRUNNER … … 135 136 CPPUNIT_ASSERT( node == node); 136 137 } 138 139 140 /** UnitTest for serialization 141 */ 142 void FragmentNodeTest::serializeTest() 143 { 144 FragmentNode node(1,1); 145 // serialize 146 std::stringstream outputstream; 147 boost::archive::text_oarchive oa(outputstream); 148 oa << node; 149 150 // deserialize 151 FragmentNode samenode; 152 std::stringstream returnstream(outputstream.str()); 153 boost::archive::text_iarchive ia(returnstream); 154 ia >> samenode; 155 156 CPPUNIT_ASSERT( node == samenode ); 157 } -
src/Fragmentation/Homology/unittests/FragmentNodeUnitTest.hpp
re15ffe r67db80 26 26 CPPUNIT_TEST ( comparatorTest ); 27 27 CPPUNIT_TEST ( assignmentTest ); 28 CPPUNIT_TEST ( serializeTest ); 28 29 CPPUNIT_TEST_SUITE_END(); 29 30 … … 33 34 void comparatorTest(); 34 35 void assignmentTest(); 36 void serializeTest(); 35 37 }; 36 38 -
src/Fragmentation/Homology/unittests/HomologyGraphUnitTest.cpp
re15ffe r67db80 51 51 52 52 #include <boost/assign.hpp> 53 #include <sstream> 53 54 54 55 using namespace boost::assign; … … 147 148 CPPUNIT_ASSERT( *graph == *graph); 148 149 } 150 151 152 /** UnitTest for serialization 153 */ 154 void HomologyGraphTest::serializeTest() 155 { 156 // serialize 157 std::stringstream outputstream; 158 boost::archive::text_oarchive oa(outputstream); 159 oa << graph; 160 161 // deserialize 162 HomologyGraph *samegraph; 163 std::stringstream returnstream(outputstream.str()); 164 boost::archive::text_iarchive ia(returnstream); 165 ia >> samegraph; 166 167 CPPUNIT_ASSERT( *graph == *samegraph ); 168 169 delete samegraph; 170 } -
src/Fragmentation/Homology/unittests/HomologyGraphUnitTest.hpp
re15ffe r67db80 29 29 CPPUNIT_TEST ( comparatorTest ); 30 30 CPPUNIT_TEST ( assigmentTest ); 31 CPPUNIT_TEST ( serializeTest ); 31 32 CPPUNIT_TEST_SUITE_END(); 32 33 … … 36 37 void comparatorTest(); 37 38 void assigmentTest(); 39 void serializeTest(); 38 40 39 41 private: -
src/Fragmentation/Homology/unittests/Makefile.am
re15ffe r67db80 28 28 ../libMolecuilderHelpers.la \ 29 29 ${CodePatterns_LIBS} \ 30 $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \ 30 31 $(BOOST_LIB) 31 32 … … 39 40 ../Fragmentation/Homology/unittests/FragmentNodeUnitTest.hpp 40 41 FragmentNodeUnitTest_LDADD = ${FRAGMENTATIONHOMOLOGYLIBS} 41 42 42 43 HomologyContainerUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \ 43 44 ../Fragmentation/Homology/unittests/HomologyContainerUnitTest.cpp \
Note:
See TracChangeset
for help on using the changeset viewer.