Index: src/Fragmentation/Automation/unittests/FragmentJobUnitTest.cpp
===================================================================
--- src/Fragmentation/Automation/unittests/FragmentJobUnitTest.cpp	(revision 57876b5bc8ae81d557361f9ed21754f1be23d432)
+++ src/Fragmentation/Automation/unittests/FragmentJobUnitTest.cpp	(revision 57876b5bc8ae81d557361f9ed21754f1be23d432)
@@ -0,0 +1,95 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2011 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * FragmentJobUnitTest.cpp
+ *
+ *  Created on: Oct 23, 2011
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+// include headers that implement a archive in simple text format
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+#include "FragmentJobUnitTest.hpp"
+
+#include "FragmentJob.hpp"
+
+#include "CodePatterns/Assert.hpp"
+
+#ifdef HAVE_TESTRUNNER
+#include "UnitTestMain.hpp"
+#endif /*HAVE_TESTRUNNER*/
+
+/********************************************** Test classes **************************************/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( FragmentJobTest );
+
+
+void FragmentJobTest::setUp()
+{
+  // Throw assertions
+  ASSERT_DO(Assert::Throw);
+
+  command = std::string("do something");
+}
+
+
+void FragmentJobTest::tearDown()
+{
+}
+
+/** UnitTest for operator==
+ */
+void FragmentJobTest::equalityTest()
+{
+  FragmentJob testJob(command, 1);
+  FragmentJob sameIdJob(command, 1);
+  FragmentJob otherIdJob(command, 2);
+  FragmentJob copiedJob(testJob);
+  FragmentJob copiedchangedJob(testJob);
+  copiedchangedJob.setId(3);
+
+  CPPUNIT_ASSERT( testJob == sameIdJob );
+  CPPUNIT_ASSERT( testJob != otherIdJob );
+  CPPUNIT_ASSERT( testJob == copiedJob );
+  CPPUNIT_ASSERT( testJob != copiedchangedJob );
+}
+
+/** UnitTest for serialization
+ */
+void FragmentJobTest::serializationTest()
+{
+  FragmentJob testJob(command, 1);
+  // write element to stream
+  std::stringstream stream;
+  boost::archive::text_oarchive oa(stream);
+  oa << testJob;
+
+  //std::cout << "Contents of archive is " << stream.str() << std::endl;
+
+  // create and open an archive for input
+  boost::archive::text_iarchive ia(stream);
+  // read class state from archive
+  FragmentJob otherJob;
+
+  ia >> otherJob;
+
+  CPPUNIT_ASSERT (testJob == otherJob);
+}
+
Index: src/Fragmentation/Automation/unittests/FragmentJobUnitTest.hpp
===================================================================
--- src/Fragmentation/Automation/unittests/FragmentJobUnitTest.hpp	(revision 57876b5bc8ae81d557361f9ed21754f1be23d432)
+++ src/Fragmentation/Automation/unittests/FragmentJobUnitTest.hpp	(revision 57876b5bc8ae81d557361f9ed21754f1be23d432)
@@ -0,0 +1,40 @@
+/*
+ * FragmentJobUnitTest.hpp
+ *
+ *  Created on: Oct 23, 2011
+ *      Author: heber
+ */
+
+#ifndef FRAGMENTJOBUNITTEST_HPP_
+#define FRAGMENTJOBUNITTEST_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include <cppunit/extensions/HelperMacros.h>
+
+/********************************************** Test classes **************************************/
+
+class FragmentJobTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( FragmentJobTest) ;
+    CPPUNIT_TEST ( equalityTest );
+    CPPUNIT_TEST ( serializationTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+      void setUp();
+      void tearDown();
+      void equalityTest();
+      void serializationTest();
+
+private:
+      std::string command;
+
+};
+
+#endif /* FRAGMENTJOBUNITTEST_HPP_ */
Index: src/Fragmentation/Automation/unittests/FragmentResultUnitTest.cpp
===================================================================
--- src/Fragmentation/Automation/unittests/FragmentResultUnitTest.cpp	(revision 57876b5bc8ae81d557361f9ed21754f1be23d432)
+++ src/Fragmentation/Automation/unittests/FragmentResultUnitTest.cpp	(revision 57876b5bc8ae81d557361f9ed21754f1be23d432)
@@ -0,0 +1,93 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2011 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * FragmentResultUnitTest.cpp
+ *
+ *  Created on: Oct 23, 2011
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+// include headers that implement a archive in simple text format
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+#include "FragmentResultUnitTest.hpp"
+
+#include "FragmentResult.hpp"
+
+#include "CodePatterns/Assert.hpp"
+
+#ifdef HAVE_TESTRUNNER
+#include "UnitTestMain.hpp"
+#endif /*HAVE_TESTRUNNER*/
+
+/********************************************** Test classes **************************************/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( FragmentResultTest );
+
+
+void FragmentResultTest::setUp()
+{
+  // Throw assertions
+  ASSERT_DO(Assert::Throw);
+}
+
+
+void FragmentResultTest::tearDown()
+{
+}
+
+/** UnitTest for operator==
+ */
+void FragmentResultTest::equalityTest()
+{
+  FragmentResult testResult(1);
+  FragmentResult sameIdResult(1);
+  FragmentResult otherIdResult(2);
+  FragmentResult copiedResult(testResult);
+  FragmentResult copiedchangedResult(testResult);
+  copiedchangedResult.setId(3);
+
+  CPPUNIT_ASSERT( testResult == sameIdResult );
+  CPPUNIT_ASSERT( testResult != otherIdResult );
+  CPPUNIT_ASSERT( testResult == copiedResult );
+  CPPUNIT_ASSERT( testResult != copiedchangedResult );
+}
+
+/** UnitTest for serialization
+ */
+void FragmentResultTest::serializationTest()
+{
+  FragmentResult testResult(1);
+  // write element to stream
+  std::stringstream stream;
+  boost::archive::text_oarchive oa(stream);
+  oa << testResult;
+
+  //std::cout << "Contents of archive is " << stream.str() << std::endl;
+
+  // create and open an archive for input
+  boost::archive::text_iarchive ia(stream);
+  // read class state from archive
+  FragmentResult otherResult(-1);
+
+  ia >> otherResult;
+
+  CPPUNIT_ASSERT (testResult == otherResult);
+}
+
Index: src/Fragmentation/Automation/unittests/FragmentResultUnitTest.hpp
===================================================================
--- src/Fragmentation/Automation/unittests/FragmentResultUnitTest.hpp	(revision 57876b5bc8ae81d557361f9ed21754f1be23d432)
+++ src/Fragmentation/Automation/unittests/FragmentResultUnitTest.hpp	(revision 57876b5bc8ae81d557361f9ed21754f1be23d432)
@@ -0,0 +1,37 @@
+/*
+ * FragmentResultUnitTest.hpp
+ *
+ *  Created on: Oct 23, 2011
+ *      Author: heber
+ */
+
+#ifndef FRAGMENTRESULTUNITTEST_HPP_
+#define FRAGMENTRESULTUNITTEST_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include <cppunit/extensions/HelperMacros.h>
+
+/********************************************** Test classes **************************************/
+
+class FragmentResultTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( FragmentResultTest) ;
+    CPPUNIT_TEST ( equalityTest );
+    CPPUNIT_TEST ( serializationTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+      void setUp();
+      void tearDown();
+      void equalityTest();
+      void serializationTest();
+
+};
+
+#endif /* FRAGMENTRESULTUNITTEST_HPP_ */
Index: src/Fragmentation/Automation/unittests/Makefile.am
===================================================================
--- src/Fragmentation/Automation/unittests/Makefile.am	(revision 02f34688f788967fdd4765560ba2cde4ccd5ba81)
+++ src/Fragmentation/Automation/unittests/Makefile.am	(revision 57876b5bc8ae81d557361f9ed21754f1be23d432)
@@ -3,10 +3,16 @@
 
 FRAGMENTATIONAUTOMATIONTESTSSOURCES = \
+  unittests/FragmentJobUnitTest.cpp \
+  unittests/FragmentResultUnitTest.cpp \
   unittests/FragmentQueueUnitTest.cpp
 
 FRAGMENTATIONAUTOMATIONTESTSHEADERS = \
+  unittests/FragmentJobUnitTest.hpp \
+  unittests/FragmentResultUnitTest.hpp \
   unittests/FragmentQueueUnitTest.hpp
 
 FRAGMENTATIONAUTOMATIONTESTS = \
+  FragmentJobUnitTest \
+  FragmentResultUnitTest \
   FragmentQueueUnitTest
 
@@ -20,4 +26,17 @@
   $(BOOST_THREAD_LDFLAGS) $(BOOST_THREAD_LIBS) \
   ${CodePatterns_LIBS}
+
+FragmentJobUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
+FragmentJobUnitTest_CPPFLAGS = ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS}
+FragmentJobUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
+  unittests/FragmentJobUnitTest.cpp \
+  unittests/FragmentJobUnitTest.hpp \
+  FragmentJob.cpp \
+  FragmentJob.hpp \
+  JobId.cpp \
+  JobId.hpp
+FragmentJobUnitTest_LDADD = \
+  ${FRAGMENTATIONLIBS} \
+  $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS)
 
 FragmentQueueUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
@@ -36,4 +55,17 @@
 FragmentQueueUnitTest_LDADD = $(FRAGMENTATIONAUTOMATIONLIBS)
 
+FragmentResultUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
+FragmentResultUnitTest_CPPFLAGS = ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS}
+FragmentResultUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
+  unittests/FragmentResultUnitTest.cpp \
+  unittests/FragmentResultUnitTest.hpp \
+  FragmentResult.cpp \
+  FragmentResult.hpp \
+  JobId.cpp \
+  JobId.hpp
+FragmentResultUnitTest_LDADD = \
+  ${FRAGMENTATIONLIBS} \
+  $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS)
+
 
 #AUTOMAKE_OPTIONS = parallel-tests
