Index: src/Fragmentation/Automation/unittests/Makefile.am
===================================================================
--- src/Fragmentation/Automation/unittests/Makefile.am	(revision bf56f65db66ae65f402f3f5745039390aa2fe1f6)
+++ src/Fragmentation/Automation/unittests/Makefile.am	(revision edbf88b839d69b6e01bba6c317710295d1c45d26)
@@ -8,5 +8,6 @@
   unittests/MPQCCommandJobUnitTest.cpp \
   unittests/MPQCDataUnitTest.cpp \
-  unittests/SystemCommandJobUnitTest.cpp
+  unittests/SystemCommandJobUnitTest.cpp \
+  unittests/WorkerAddressUnitTest.cpp
 
 FRAGMENTATIONAUTOMATIONTESTSHEADERS = \
@@ -16,5 +17,6 @@
   unittests/MPQCCommandJobUnitTest.hpp \
   unittests/MPQCDataUnitTest.hpp \
-  unittests/SystemCommandJobUnitTest.hpp
+  unittests/SystemCommandJobUnitTest.hpp \
+  unittests/WorkerAddressUnitTest.hpp
 
 FRAGMENTATIONAUTOMATIONTESTS = \
@@ -24,5 +26,6 @@
   MPQCCommandJobUnitTest \
   MPQCDataUnitTest \
-  SystemCommandJobUnitTest
+  SystemCommandJobUnitTest \
+  WorkerAddressUnitTest
 
 
@@ -122,3 +125,15 @@
   ${CodePatterns_LIBS}
 
+WorkerAddressUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
+WorkerAddressUnitTest_CPPFLAGS = ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS}
+WorkerAddressUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
+  unittests/WorkerAddressUnitTest.cpp \
+  unittests/WorkerAddressUnitTest.hpp \
+  WorkerAddress.cpp \
+  WorkerAddress.hpp
+WorkerAddressUnitTest_LDADD = \
+  $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
+  $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
+  ${CodePatterns_LIBS}
+
 #AUTOMAKE_OPTIONS = parallel-tests
Index: src/Fragmentation/Automation/unittests/WorkerAddressUnitTest.cpp
===================================================================
--- src/Fragmentation/Automation/unittests/WorkerAddressUnitTest.cpp	(revision edbf88b839d69b6e01bba6c317710295d1c45d26)
+++ src/Fragmentation/Automation/unittests/WorkerAddressUnitTest.cpp	(revision edbf88b839d69b6e01bba6c317710295d1c45d26)
@@ -0,0 +1,106 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * WorkerAddressUnitTest.cpp
+ *
+ *  Created on: Feb 26, 2012
+ *      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 "WorkerAddressUnitTest.hpp"
+
+#include "WorkerAddress.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( WorkerAddressTest );
+
+
+void WorkerAddressTest::setUp()
+{
+  // Throw assertions
+  ASSERT_DO(Assert::Throw);
+}
+
+
+void WorkerAddressTest::tearDown()
+{
+}
+
+/** UnitTest for operator==
+ */
+void WorkerAddressTest::equalityTest()
+{
+  WorkerAddress address("testhost", "testport");
+  WorkerAddress sameaddress("testhost", "testport");
+  WorkerAddress otheraddress("othertesthost", "othertestport");
+
+  CPPUNIT_ASSERT( address == sameaddress );
+  CPPUNIT_ASSERT( address != otheraddress );
+}
+
+/** UnitTest for operator<
+ */
+void WorkerAddressTest::lessTest()
+{
+  WorkerAddress address("127.0.0.1", "123");
+  WorkerAddress higherport("127.0.0.1", "124");
+  WorkerAddress higherhost("127.0.0.2", "123");
+  WorkerAddress higheraddress("127.0.0.2", "124");
+
+  CPPUNIT_ASSERT( address < higherport );
+  CPPUNIT_ASSERT( address < higherhost );
+  CPPUNIT_ASSERT( address < higheraddress );
+  CPPUNIT_ASSERT( higherport < higherhost );
+  CPPUNIT_ASSERT( higherport < higheraddress );
+  CPPUNIT_ASSERT( higherhost < higheraddress );
+}
+
+/** UnitTest for serialization
+ */
+void WorkerAddressTest::serializationTest()
+{
+  WorkerAddress address("testhost", "testport");
+  // write element to stream
+  std::stringstream stream;
+  boost::archive::text_oarchive oa(stream);
+  oa << address;
+
+  //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
+  WorkerAddress otheraddress("othertesthost", "othertestport");
+
+  ia >> otheraddress;
+
+  // WorkerAddressStub is same as WorkerAddress contentwise, hence no casting required
+  CPPUNIT_ASSERT (address == otheraddress);
+}
+
Index: src/Fragmentation/Automation/unittests/WorkerAddressUnitTest.hpp
===================================================================
--- src/Fragmentation/Automation/unittests/WorkerAddressUnitTest.hpp	(revision edbf88b839d69b6e01bba6c317710295d1c45d26)
+++ src/Fragmentation/Automation/unittests/WorkerAddressUnitTest.hpp	(revision edbf88b839d69b6e01bba6c317710295d1c45d26)
@@ -0,0 +1,41 @@
+/*
+ * WorkerAddressUnitTest.hpp
+ *
+ *  Created on: Feb 26, 2011
+ *      Author: heber
+ */
+
+#ifndef WORKERADDRESSUNITTEST_HPP_
+#define WORKERADDRESSUNITTEST_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include <cppunit/extensions/HelperMacros.h>
+
+/********************************************** Test classes **************************************/
+
+class WorkerAddressTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( WorkerAddressTest) ;
+    CPPUNIT_TEST ( equalityTest );
+    CPPUNIT_TEST ( lessTest );
+    CPPUNIT_TEST ( serializationTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+      void setUp();
+      void tearDown();
+      void equalityTest();
+      void lessTest();
+      void serializationTest();
+
+private:
+
+};
+
+#endif /* WORKERADDRESSUNITTEST_HPP_ */
