Index: src/Element/unittests/ElementUnitTest.cpp
===================================================================
--- src/Element/unittests/ElementUnitTest.cpp	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
+++ src/Element/unittests/ElementUnitTest.cpp	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
@@ -0,0 +1,170 @@
+/*
+ * 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.
+ */
+
+/*
+ * ElementUnitTest.cpp
+ *
+ *  Created on: Oct 29, 2009
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+using namespace std;
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+#include <sstream>
+
+#include "Element/element.hpp"
+
+// include headers that implement a archive in simple text format
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+#include "ElementUnitTest.hpp"
+
+#ifdef HAVE_TESTRUNNER
+#include "UnitTestMain.hpp"
+#endif /*HAVE_TESTRUNNER*/
+
+/********************************************** Test classes **************************************/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( ElementTest );
+
+
+void ElementTest::setUp()
+{
+  testelement = new element();
+  testelement->setSymbol("H");
+};
+
+
+void ElementTest::tearDown()
+{
+  delete testelement;
+};
+
+/** Test whether assignment works
+ *
+ */
+void ElementTest::AssignmentTest()
+{
+  element * otherelement = new element();
+  element * const backup = otherelement;
+  CPPUNIT_ASSERT( otherelement != testelement );
+  otherelement = testelement;
+  CPPUNIT_ASSERT( otherelement == testelement );
+  otherelement = backup;
+  *otherelement = *testelement;
+  CPPUNIT_ASSERT( *otherelement == *testelement );
+  delete backup;
+
+  otherelement = new element(*testelement);
+  CPPUNIT_ASSERT( otherelement != testelement );
+  CPPUNIT_ASSERT( *otherelement == *testelement );
+  delete otherelement;
+}
+
+/** Test whether the getters are working.
+ *
+ */
+void ElementTest::GetterTest()
+{
+  CPPUNIT_ASSERT_EQUAL( (atomId_t)0, testelement->getNumber() );
+  CPPUNIT_ASSERT_EQUAL( 0., testelement->getMass() );
+  const unsigned char * color = testelement->getColor();
+  for (size_t i = 0; i < 3; ++i)
+    CPPUNIT_ASSERT_EQUAL( (unsigned char)0, color[i] );
+  CPPUNIT_ASSERT_EQUAL( 0., testelement->getCovalentRadius() );
+  CPPUNIT_ASSERT_EQUAL( 0., testelement->getElectronegativity() );
+  CPPUNIT_ASSERT_EQUAL( 0., testelement->getVanDerWaalsRadius() );
+  CPPUNIT_ASSERT_EQUAL( 0, testelement->getAtomicNumber() );
+  CPPUNIT_ASSERT_EQUAL( 0., testelement->getValence() );
+  CPPUNIT_ASSERT_EQUAL( 0, testelement->getNoValenceOrbitals() );
+  CPPUNIT_ASSERT_EQUAL( 0, testelement->getNoValenceOrbitals() );
+  for (size_t i = 0; i < 3; ++i)
+    CPPUNIT_ASSERT_EQUAL( 0., testelement->getHBondDistance(i) );
+  for (size_t i = 0; i < 3; ++i)
+    CPPUNIT_ASSERT_EQUAL( 0., testelement->getHBondAngle(i) );
+}
+
+/** Test whether the setters are working.
+ *
+ */
+void ElementTest::SetterTest()
+{
+  // symbol
+  CPPUNIT_ASSERT( testelement->getSymbol() != std::string("He") );
+  testelement->setSymbol("He");
+  CPPUNIT_ASSERT_EQUAL( std::string("He"), testelement->getSymbol() );
+
+  // name
+  CPPUNIT_ASSERT( testelement->getName() != std::string("Helium") );
+  testelement->setName("Helium");
+  CPPUNIT_ASSERT_EQUAL( std::string("Helium"), testelement->getName() );
+}
+
+/** Unit test for operator==()
+ */
+void ElementTest::ComparisonTest()
+{
+  testelement->setSymbol("He");
+  testelement->setName("Helium");
+  element * newelement = new element();
+  newelement->setSymbol("H");
+  newelement->setName("Hydrogen");
+
+  CPPUNIT_ASSERT( *testelement != *newelement );
+
+  newelement->setSymbol("He");
+  newelement->setName("Helium");
+
+  CPPUNIT_ASSERT( *testelement == *newelement );
+
+  delete newelement;
+}
+
+/** Tests whether serialization of the class works
+ */
+void ElementTest::SerializeTest()
+{
+  const std::string he("He");
+  const std::string helium("Helium");
+  testelement->setSymbol(he);
+  testelement->setName(helium);
+
+  CPPUNIT_ASSERT_EQUAL ( he, testelement->getSymbol() );
+  CPPUNIT_ASSERT_EQUAL( helium, testelement->getName() );
+
+  // write element to stream
+  std::stringstream stream;
+  boost::archive::text_oarchive oa(stream);
+  oa << testelement;
+
+  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
+  element * newelement;
+
+  ia >> newelement;
+
+  CPPUNIT_ASSERT_EQUAL( he, newelement->getSymbol() );
+  CPPUNIT_ASSERT_EQUAL( helium, newelement->getName() );
+
+  CPPUNIT_ASSERT (*testelement == *newelement);
+
+  delete newelement;
+};
Index: src/Element/unittests/ElementUnitTest.hpp
===================================================================
--- src/Element/unittests/ElementUnitTest.hpp	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
+++ src/Element/unittests/ElementUnitTest.hpp	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
@@ -0,0 +1,47 @@
+/*
+ * ElementUnitTest.hpp
+ *
+ *  Created on: Oct 29, 2009
+ *      Author: heber
+ */
+
+#ifndef ELEMENTUNITTEST_HPP_
+#define ELEMENTUNITTEST_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include <cppunit/extensions/HelperMacros.h>
+
+
+class element;
+
+/********************************************** Test classes **************************************/
+
+class ElementTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( ElementTest) ;
+    CPPUNIT_TEST ( SetterTest );
+    CPPUNIT_TEST ( GetterTest );
+    CPPUNIT_TEST ( ComparisonTest );
+    CPPUNIT_TEST ( AssignmentTest );
+    CPPUNIT_TEST ( SerializeTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+      void setUp();
+      void tearDown();
+      void AssignmentTest();
+      void GetterTest();
+      void SetterTest();
+      void ComparisonTest();
+      void SerializeTest();
+
+private:
+      element *testelement;
+};
+
+#endif /* ELEMENTUNITTEST_HPP_ */
Index: src/Element/unittests/Makefile.am
===================================================================
--- src/Element/unittests/Makefile.am	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
+++ src/Element/unittests/Makefile.am	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
@@ -0,0 +1,35 @@
+# PLEASE adhere to the alphabetical ordering in this Makefile!
+# Also indentation by a single tab
+
+ELEMENTTESTSSOURCES = \
+  ../Element/unittests/ElementUnitTest.cpp \
+	../Element/unittests/PeriodentafelUnitTest.cpp
+
+ELEMENTTESTSHEADERS = \
+	../Element/unittests/ElementUnitTest.hpp \
+	../Element/unittests/PeriodentafelUnitTest.hpp
+
+ELEMENTTESTS = \
+  ElementUnitTest \
+  PeriodentafelUnitTest
+
+TESTS += $(ELEMENTTESTS)
+check_PROGRAMS += $(ELEMENTTESTS) 
+noinst_PROGRAMS += $(ELEMENTTESTS)
+
+ELEMENTLIBS = \
+	../libMolecuilderElement.la \
+	../libMolecuilderHelpers.la \
+	$(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS)
+
+ElementUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
+	../Element/unittests/ElementUnitTest.cpp \
+	../Element/unittests/ElementUnitTest.hpp
+ElementUnitTest_LDADD = $(ELEMENTLIBS)
+
+PeriodentafelUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
+	../Element/unittests/PeriodentafelUnitTest.cpp \
+	../Element/unittests/PeriodentafelUnitTest.hpp
+PeriodentafelUnitTest_LDADD = $(ELEMENTLIBS)
+
+#AUTOMAKE_OPTIONS = parallel-tests
Index: src/Element/unittests/PeriodentafelUnitTest.cpp
===================================================================
--- src/Element/unittests/PeriodentafelUnitTest.cpp	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
+++ src/Element/unittests/PeriodentafelUnitTest.cpp	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
@@ -0,0 +1,155 @@
+/*
+ * 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.
+ */
+
+/*
+ * PeriodentafelUnitTest.cpp
+ *
+ *  Created on: May 18, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+using namespace std;
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+#include <sstream>
+#include <iostream>
+
+#include "CodePatterns/Assert.hpp"
+
+#include "Element/element.hpp"
+#include "Element/elements_db.hpp"
+#include "Element/periodentafel.hpp"
+
+#include "PeriodentafelUnitTest.hpp"
+
+// include headers that implement a archive in simple text format
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+#ifdef HAVE_TESTRUNNER
+#include "UnitTestMain.hpp"
+#endif /*HAVE_TESTRUNNER*/
+
+/********************************************** Test classes **************************************/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( periodentafelTest );
+
+
+void periodentafelTest::setUp()
+{
+  // make sure world is present
+  tafel = new periodentafel();
+  CPPUNIT_ASSERT(tafel != NULL && "could not obtain periodentafel");
+};
+
+
+void periodentafelTest::tearDown()
+{
+  delete tafel;
+};
+
+/** UnitTest for AddRemoveTest().
+ */
+void periodentafelTest::AddRemoveTest()
+{
+  // copy the element
+  const element * ElementPtr = tafel->FindElement(3);
+  CPPUNIT_ASSERT( ElementPtr != NULL && "could not find element lithium");
+  element *Elemental = new element(*ElementPtr);
+  // remove element
+  tafel->RemoveElement((element * const)ElementPtr);
+  ElementPtr = tafel->FindElement(3);
+  CPPUNIT_ASSERT_EQUAL( (const element *)NULL, ElementPtr );
+  // add element again
+  tafel->AddElement((element * const)Elemental);
+  ElementPtr = tafel->FindElement(3);
+  CPPUNIT_ASSERT( ElementPtr != NULL && "could not find re-added element lithium");
+};
+
+/** UnitTest for LoadStoreTest().
+ * TODO: periodentafelTest::LoadStoreTest() not implemented yet
+ */
+void periodentafelTest::LoadStoreTest()
+{
+  // reload all databases
+  stringstream elementsDBstream(elementsDB,ios_base::in);
+  stringstream ElectronegativityDBstream(ElectronegativitiesDB,ios_base::in);
+  stringstream valenceDBstream(valenceDB,ios_base::in);
+  stringstream orbitalsDBstream(orbitalsDB,ios_base::in);
+  stringstream HbondangleDBstream(HbondangleDB,ios_base::in);
+  stringstream HbonddistanceDBstream(HbonddistanceDB,ios_base::in);
+  stringstream ColorDBstream(ColorDB,ios_base::in);
+  CPPUNIT_ASSERT(tafel->LoadElementsDatabase(elementsDBstream) && "General element initialization failed");
+  CPPUNIT_ASSERT(tafel->LoadElectronegativityDatabase(ElectronegativityDBstream) && "Electronegativity entry of element initialization failed");
+  CPPUNIT_ASSERT(tafel->LoadValenceDatabase(valenceDBstream) && "Valence entry of element initialization failed");
+  CPPUNIT_ASSERT(tafel->LoadOrbitalsDatabase(orbitalsDBstream) && "Orbitals entry of element initialization failed");
+  CPPUNIT_ASSERT(tafel->LoadHBondAngleDatabase(HbondangleDBstream) && "HBond angle entry of element initialization failed");
+  CPPUNIT_ASSERT(tafel->LoadHBondLengthsDatabase(HbonddistanceDBstream) && "HBond distance entry of element initialization failed");
+  CPPUNIT_ASSERT(tafel->LoadColorDatabase(ColorDBstream) && "color entry of element initialization failed");
+  // check presence of elements
+  atomicNumber_t Z = 1;
+  for(periodentafel::const_iterator ElementRunner = tafel->begin(); ElementRunner != tafel->end(); ++ElementRunner)
+    CPPUNIT_ASSERT( (ElementRunner->second->getNumber() == Z++) && "element is missing in sequence");
+};
+
+/** UnitTest for serialization
+ *
+ */
+void periodentafelTest::ComparisonTest()
+{
+  periodentafel *newtafel = new periodentafel();
+
+  CPPUNIT_ASSERT (*newtafel == *tafel );
+
+  element *Elemental = new element();
+  newtafel->AddElement((element * const)Elemental);
+
+  CPPUNIT_ASSERT (*newtafel != *tafel );
+
+  delete newtafel;
+}
+
+std::string gatherUndoInformation(const periodentafel *tafel)
+{
+  // create undo state
+  std::stringstream undostream;
+  boost::archive::text_oarchive oa(undostream);
+  oa << tafel;
+  return undostream.str();
+}
+
+/** UnitTest for serialization
+ *
+ */
+void periodentafelTest::SerializeTest()
+{
+  // write element to stream
+  std::stringstream stream(gatherUndoInformation(tafel));
+//  boost::archive::text_oarchive oa(stream);
+//  oa << World::getInstance().getPeriode();
+//  //oa << tafel;
+//
+//  //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
+  periodentafel * newtafel;
+
+  ia >> newtafel;
+
+  CPPUNIT_ASSERT (*tafel == *newtafel);
+}
Index: src/Element/unittests/PeriodentafelUnitTest.hpp
===================================================================
--- src/Element/unittests/PeriodentafelUnitTest.hpp	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
+++ src/Element/unittests/PeriodentafelUnitTest.hpp	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
@@ -0,0 +1,52 @@
+/*
+ * PeriodentafelUnitTest.hpp
+ *
+ *  Created on: May 18, 2010
+ *      Author: heber
+ */
+
+#ifndef PERIODENTAFELUNITTEST_HPP_
+#define PERIODENTAFELUNITTEST_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include <cppunit/extensions/HelperMacros.h>
+
+class element;
+class periodentafel;
+
+/********************************************** Test classes **************************************/
+
+class periodentafelTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( periodentafelTest) ;
+    CPPUNIT_TEST ( AddRemoveTest );
+    CPPUNIT_TEST ( LoadStoreTest );
+    CPPUNIT_TEST ( ComparisonTest );
+    CPPUNIT_TEST ( SerializeTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+      void setUp();
+      void tearDown();
+      void AddRemoveTest();
+      void LoadStoreTest();
+      void ComparisonTest();
+      void SerializeTest();
+
+private:
+
+      const element *hydrogen;
+      const element *carbon;
+      periodentafel *tafel;
+
+};
+
+std::string gatherUndoInformation(const periodentafel &periode);
+
+
+#endif /* PERIODENTAFELUNITTEST_HPP_ */
Index: c/unittests/ElementUnitTest.cpp
===================================================================
--- src/unittests/ElementUnitTest.cpp	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ 	(revision )
@@ -1,170 +1,0 @@
-/*
- * 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.
- */
-
-/*
- * ElementUnitTest.cpp
- *
- *  Created on: Oct 29, 2009
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-using namespace std;
-
-#include <cppunit/CompilerOutputter.h>
-#include <cppunit/extensions/TestFactoryRegistry.h>
-#include <cppunit/ui/text/TestRunner.h>
-
-#include <sstream>
-
-#include "Element/element.hpp"
-
-// include headers that implement a archive in simple text format
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-#include "ElementUnitTest.hpp"
-
-#ifdef HAVE_TESTRUNNER
-#include "UnitTestMain.hpp"
-#endif /*HAVE_TESTRUNNER*/
-
-/********************************************** Test classes **************************************/
-
-// Registers the fixture into the 'registry'
-CPPUNIT_TEST_SUITE_REGISTRATION( ElementTest );
-
-
-void ElementTest::setUp()
-{
-  testelement = new element();
-  testelement->setSymbol("H");
-};
-
-
-void ElementTest::tearDown()
-{
-  delete testelement;
-};
-
-/** Test whether assignment works
- *
- */
-void ElementTest::AssignmentTest()
-{
-  element * otherelement = new element();
-  element * const backup = otherelement;
-  CPPUNIT_ASSERT( otherelement != testelement );
-  otherelement = testelement;
-  CPPUNIT_ASSERT( otherelement == testelement );
-  otherelement = backup;
-  *otherelement = *testelement;
-  CPPUNIT_ASSERT( *otherelement == *testelement );
-  delete backup;
-
-  otherelement = new element(*testelement);
-  CPPUNIT_ASSERT( otherelement != testelement );
-  CPPUNIT_ASSERT( *otherelement == *testelement );
-  delete otherelement;
-}
-
-/** Test whether the getters are working.
- *
- */
-void ElementTest::GetterTest()
-{
-  CPPUNIT_ASSERT_EQUAL( (atomId_t)0, testelement->getNumber() );
-  CPPUNIT_ASSERT_EQUAL( 0., testelement->getMass() );
-  const unsigned char * color = testelement->getColor();
-  for (size_t i = 0; i < 3; ++i)
-    CPPUNIT_ASSERT_EQUAL( (unsigned char)0, color[i] );
-  CPPUNIT_ASSERT_EQUAL( 0., testelement->getCovalentRadius() );
-  CPPUNIT_ASSERT_EQUAL( 0., testelement->getElectronegativity() );
-  CPPUNIT_ASSERT_EQUAL( 0., testelement->getVanDerWaalsRadius() );
-  CPPUNIT_ASSERT_EQUAL( 0, testelement->getAtomicNumber() );
-  CPPUNIT_ASSERT_EQUAL( 0., testelement->getValence() );
-  CPPUNIT_ASSERT_EQUAL( 0, testelement->getNoValenceOrbitals() );
-  CPPUNIT_ASSERT_EQUAL( 0, testelement->getNoValenceOrbitals() );
-  for (size_t i = 0; i < 3; ++i)
-    CPPUNIT_ASSERT_EQUAL( 0., testelement->getHBondDistance(i) );
-  for (size_t i = 0; i < 3; ++i)
-    CPPUNIT_ASSERT_EQUAL( 0., testelement->getHBondAngle(i) );
-}
-
-/** Test whether the setters are working.
- *
- */
-void ElementTest::SetterTest()
-{
-  // symbol
-  CPPUNIT_ASSERT( testelement->getSymbol() != std::string("He") );
-  testelement->setSymbol("He");
-  CPPUNIT_ASSERT_EQUAL( std::string("He"), testelement->getSymbol() );
-
-  // name
-  CPPUNIT_ASSERT( testelement->getName() != std::string("Helium") );
-  testelement->setName("Helium");
-  CPPUNIT_ASSERT_EQUAL( std::string("Helium"), testelement->getName() );
-}
-
-/** Unit test for operator==()
- */
-void ElementTest::ComparisonTest()
-{
-  testelement->setSymbol("He");
-  testelement->setName("Helium");
-  element * newelement = new element();
-  newelement->setSymbol("H");
-  newelement->setName("Hydrogen");
-
-  CPPUNIT_ASSERT( *testelement != *newelement );
-
-  newelement->setSymbol("He");
-  newelement->setName("Helium");
-
-  CPPUNIT_ASSERT( *testelement == *newelement );
-
-  delete newelement;
-}
-
-/** Tests whether serialization of the class works
- */
-void ElementTest::SerializeTest()
-{
-  const std::string he("He");
-  const std::string helium("Helium");
-  testelement->setSymbol(he);
-  testelement->setName(helium);
-
-  CPPUNIT_ASSERT_EQUAL ( he, testelement->getSymbol() );
-  CPPUNIT_ASSERT_EQUAL( helium, testelement->getName() );
-
-  // write element to stream
-  std::stringstream stream;
-  boost::archive::text_oarchive oa(stream);
-  oa << testelement;
-
-  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
-  element * newelement;
-
-  ia >> newelement;
-
-  CPPUNIT_ASSERT_EQUAL( he, newelement->getSymbol() );
-  CPPUNIT_ASSERT_EQUAL( helium, newelement->getName() );
-
-  CPPUNIT_ASSERT (*testelement == *newelement);
-
-  delete newelement;
-};
Index: c/unittests/ElementUnitTest.hpp
===================================================================
--- src/unittests/ElementUnitTest.hpp	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ 	(revision )
@@ -1,47 +1,0 @@
-/*
- * ElementUnitTest.hpp
- *
- *  Created on: Oct 29, 2009
- *      Author: heber
- */
-
-#ifndef ELEMENTUNITTEST_HPP_
-#define ELEMENTUNITTEST_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include <cppunit/extensions/HelperMacros.h>
-
-
-class element;
-
-/********************************************** Test classes **************************************/
-
-class ElementTest : public CppUnit::TestFixture
-{
-    CPPUNIT_TEST_SUITE( ElementTest) ;
-    CPPUNIT_TEST ( SetterTest );
-    CPPUNIT_TEST ( GetterTest );
-    CPPUNIT_TEST ( ComparisonTest );
-    CPPUNIT_TEST ( AssignmentTest );
-    CPPUNIT_TEST ( SerializeTest );
-    CPPUNIT_TEST_SUITE_END();
-
-public:
-      void setUp();
-      void tearDown();
-      void AssignmentTest();
-      void GetterTest();
-      void SetterTest();
-      void ComparisonTest();
-      void SerializeTest();
-
-private:
-      element *testelement;
-};
-
-#endif /* ELEMENTUNITTEST_HPP_ */
Index: src/unittests/Makefile.am
===================================================================
--- src/unittests/Makefile.am	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ src/unittests/Makefile.am	(revision 592be9a388decc9a41c3507b7e5f23289522e8f5)
@@ -9,4 +9,5 @@
 include ../../src/Analysis/unittests/Makefile.am
 include ../../src/Descriptors/unittests/Makefile.am
+include ../../src/Element/unittests/Makefile.am
 include ../../src/Fragmentation/unittests/Makefile.am
 include ../../src/Graph/unittests/Makefile.am
@@ -25,9 +26,7 @@
 GENERALTESTS = \
   BoxUnitTest \
-  ElementUnitTest \
   FormulaUnittest \
   LinkedCellUnitTest \
   ListOfBondsUnitTest \
-  PeriodentafelUnitTest \
   WorldTimeUnitTest
 
@@ -55,4 +54,5 @@
 	${ANALYSISTESTSSOURCES} \
 	${DESCRIPTORTESTSSOURCES} \
+	${ELEMENTTESTSSOURCES} \
 	${FRAGMENTATIONTESTSSOURCES} \
 	${GRAPHTESTSSOURCES} \
@@ -65,9 +65,7 @@
 	${UIELEMENTSMENUTESTSSOURCES} \
   BoxUnitTest.cpp \
-  ElementUnitTest.cpp \
   FormulaUnitTest.cpp \
   LinkedCellUnitTest.cpp \
   ListOfBondsUnitTest.cpp \
-  PeriodentafelUnitTest.cpp \
   WorldTimeUnitTest.cpp
 
@@ -76,4 +74,5 @@
 	${ANALYSISTESTSHEADERS} \
 	${DESCRIPTORTESTSHEADERS} \
+	${ELEMENTTESTSHEADERS} \
 	${FRAGMENTATIONTESTSHEADERS} \
 	${GRAPHTESTSHEADERS} \
@@ -86,9 +85,7 @@
 	${UIELEMENTSMENUTESTSHEADERS} \
   BoxUnitTest.hpp \
-  ElementUnitTest.hpp \
   FormulaUnitTest.hpp \
   LinkedCellUnitTest.hpp \
   ListOfBondsUnitTest.hpp \
-  PeriodentafelUnitTest.hpp \
   WorldTimeUnitTest.hpp
   
@@ -98,11 +95,4 @@
 	BoxUnitTest.hpp
 BoxUnitTest_LDADD = ${ALLLIBS}
-
-ElementUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
-	ElementUnitTest.cpp \
-	ElementUnitTest.hpp
-ElementUnitTest_LDADD = \
-	../libMolecuilderElement.la \
-	$(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS)
 
 FormulaUnittest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
@@ -121,12 +111,4 @@
 ListOfBondsUnitTest_LDADD = ${ALLLIBS}
 
-PeriodentafelUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
-	PeriodentafelUnitTest.cpp \
-	PeriodentafelUnitTest.hpp
-PeriodentafelUnitTest_LDADD = \
-		../libMolecuilderElement.la \
-		../libMolecuilderHelpers.la \
-	$(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS)
-
 WorldTimeUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
 	WorldTimeUnitTest.cpp \
Index: c/unittests/PeriodentafelUnitTest.cpp
===================================================================
--- src/unittests/PeriodentafelUnitTest.cpp	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ 	(revision )
@@ -1,155 +1,0 @@
-/*
- * 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.
- */
-
-/*
- * PeriodentafelUnitTest.cpp
- *
- *  Created on: May 18, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-using namespace std;
-
-#include <cppunit/CompilerOutputter.h>
-#include <cppunit/extensions/TestFactoryRegistry.h>
-#include <cppunit/ui/text/TestRunner.h>
-
-#include <sstream>
-#include <iostream>
-
-#include "CodePatterns/Assert.hpp"
-
-#include "Element/element.hpp"
-#include "Element/elements_db.hpp"
-#include "Element/periodentafel.hpp"
-
-#include "PeriodentafelUnitTest.hpp"
-
-// include headers that implement a archive in simple text format
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-#ifdef HAVE_TESTRUNNER
-#include "UnitTestMain.hpp"
-#endif /*HAVE_TESTRUNNER*/
-
-/********************************************** Test classes **************************************/
-
-// Registers the fixture into the 'registry'
-CPPUNIT_TEST_SUITE_REGISTRATION( periodentafelTest );
-
-
-void periodentafelTest::setUp()
-{
-  // make sure world is present
-  tafel = new periodentafel();
-  CPPUNIT_ASSERT(tafel != NULL && "could not obtain periodentafel");
-};
-
-
-void periodentafelTest::tearDown()
-{
-  delete tafel;
-};
-
-/** UnitTest for AddRemoveTest().
- */
-void periodentafelTest::AddRemoveTest()
-{
-  // copy the element
-  const element * ElementPtr = tafel->FindElement(3);
-  CPPUNIT_ASSERT( ElementPtr != NULL && "could not find element lithium");
-  element *Elemental = new element(*ElementPtr);
-  // remove element
-  tafel->RemoveElement((element * const)ElementPtr);
-  ElementPtr = tafel->FindElement(3);
-  CPPUNIT_ASSERT_EQUAL( (const element *)NULL, ElementPtr );
-  // add element again
-  tafel->AddElement((element * const)Elemental);
-  ElementPtr = tafel->FindElement(3);
-  CPPUNIT_ASSERT( ElementPtr != NULL && "could not find re-added element lithium");
-};
-
-/** UnitTest for LoadStoreTest().
- * TODO: periodentafelTest::LoadStoreTest() not implemented yet
- */
-void periodentafelTest::LoadStoreTest()
-{
-  // reload all databases
-  stringstream elementsDBstream(elementsDB,ios_base::in);
-  stringstream ElectronegativityDBstream(ElectronegativitiesDB,ios_base::in);
-  stringstream valenceDBstream(valenceDB,ios_base::in);
-  stringstream orbitalsDBstream(orbitalsDB,ios_base::in);
-  stringstream HbondangleDBstream(HbondangleDB,ios_base::in);
-  stringstream HbonddistanceDBstream(HbonddistanceDB,ios_base::in);
-  stringstream ColorDBstream(ColorDB,ios_base::in);
-  CPPUNIT_ASSERT(tafel->LoadElementsDatabase(elementsDBstream) && "General element initialization failed");
-  CPPUNIT_ASSERT(tafel->LoadElectronegativityDatabase(ElectronegativityDBstream) && "Electronegativity entry of element initialization failed");
-  CPPUNIT_ASSERT(tafel->LoadValenceDatabase(valenceDBstream) && "Valence entry of element initialization failed");
-  CPPUNIT_ASSERT(tafel->LoadOrbitalsDatabase(orbitalsDBstream) && "Orbitals entry of element initialization failed");
-  CPPUNIT_ASSERT(tafel->LoadHBondAngleDatabase(HbondangleDBstream) && "HBond angle entry of element initialization failed");
-  CPPUNIT_ASSERT(tafel->LoadHBondLengthsDatabase(HbonddistanceDBstream) && "HBond distance entry of element initialization failed");
-  CPPUNIT_ASSERT(tafel->LoadColorDatabase(ColorDBstream) && "color entry of element initialization failed");
-  // check presence of elements
-  atomicNumber_t Z = 1;
-  for(periodentafel::const_iterator ElementRunner = tafel->begin(); ElementRunner != tafel->end(); ++ElementRunner)
-    CPPUNIT_ASSERT( (ElementRunner->second->getNumber() == Z++) && "element is missing in sequence");
-};
-
-/** UnitTest for serialization
- *
- */
-void periodentafelTest::ComparisonTest()
-{
-  periodentafel *newtafel = new periodentafel();
-
-  CPPUNIT_ASSERT (*newtafel == *tafel );
-
-  element *Elemental = new element();
-  newtafel->AddElement((element * const)Elemental);
-
-  CPPUNIT_ASSERT (*newtafel != *tafel );
-
-  delete newtafel;
-}
-
-std::string gatherUndoInformation(const periodentafel *tafel)
-{
-  // create undo state
-  std::stringstream undostream;
-  boost::archive::text_oarchive oa(undostream);
-  oa << tafel;
-  return undostream.str();
-}
-
-/** UnitTest for serialization
- *
- */
-void periodentafelTest::SerializeTest()
-{
-  // write element to stream
-  std::stringstream stream(gatherUndoInformation(tafel));
-//  boost::archive::text_oarchive oa(stream);
-//  oa << World::getInstance().getPeriode();
-//  //oa << tafel;
-//
-//  //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
-  periodentafel * newtafel;
-
-  ia >> newtafel;
-
-  CPPUNIT_ASSERT (*tafel == *newtafel);
-}
Index: c/unittests/PeriodentafelUnitTest.hpp
===================================================================
--- src/unittests/PeriodentafelUnitTest.hpp	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ 	(revision )
@@ -1,52 +1,0 @@
-/*
- * PeriodentafelUnitTest.hpp
- *
- *  Created on: May 18, 2010
- *      Author: heber
- */
-
-#ifndef PERIODENTAFELUNITTEST_HPP_
-#define PERIODENTAFELUNITTEST_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include <cppunit/extensions/HelperMacros.h>
-
-class element;
-class periodentafel;
-
-/********************************************** Test classes **************************************/
-
-class periodentafelTest : public CppUnit::TestFixture
-{
-    CPPUNIT_TEST_SUITE( periodentafelTest) ;
-    CPPUNIT_TEST ( AddRemoveTest );
-    CPPUNIT_TEST ( LoadStoreTest );
-    CPPUNIT_TEST ( ComparisonTest );
-    CPPUNIT_TEST ( SerializeTest );
-    CPPUNIT_TEST_SUITE_END();
-
-public:
-      void setUp();
-      void tearDown();
-      void AddRemoveTest();
-      void LoadStoreTest();
-      void ComparisonTest();
-      void SerializeTest();
-
-private:
-
-      const element *hydrogen;
-      const element *carbon;
-      periodentafel *tafel;
-
-};
-
-std::string gatherUndoInformation(const periodentafel &periode);
-
-
-#endif /* PERIODENTAFELUNITTEST_HPP_ */
