Index: src/Fragmentation/Exporters/unittests/SaturatedFragmentUnitTest.cpp
===================================================================
--- src/Fragmentation/Exporters/unittests/SaturatedFragmentUnitTest.cpp	(revision fe90ab76a0488cae2c9dc4e5dbf47938334d5839)
+++ src/Fragmentation/Exporters/unittests/SaturatedFragmentUnitTest.cpp	(revision c6ddcb49851617a614ac989bfeae41c91886a779)
@@ -50,5 +50,12 @@
 #include "CodePatterns/Assert.hpp"
 
+#include "Atom/atom.hpp"
+#include "Atom/AtomObserver.hpp"
+#include "Element/element.hpp"
+#include "Element/periodentafel.hpp"
 #include "Fragmentation/HydrogenSaturation_enum.hpp"
+#include "molecule.hpp"
+#include "World.hpp"
+#include "WorldTime.hpp"
 
 #ifdef HAVE_TESTRUNNER
@@ -69,6 +76,34 @@
   ASSERT_DO(Assert::Throw);
 
+  // construct element
+  hydrogen = World::getInstance().getPeriode()->FindElement(1);
+  CPPUNIT_ASSERT(hydrogen != NULL && "could not find element hydrogen");
+  oxygen = World::getInstance().getPeriode()->FindElement(8);
+  CPPUNIT_ASSERT(oxygen != NULL && "could not find element oxygen");
+
+  // construct molecule (tetraeder of hydrogens)
+  TestMolecule = World::getInstance().createMolecule();
+  CPPUNIT_ASSERT(TestMolecule != NULL && "could not create molecule");
+  atom * Walker = World::getInstance().createAtom();
+  CPPUNIT_ASSERT(Walker != NULL && "could not create atom");
+  Walker->setType(oxygen);
+  Walker->setPosition(Vector(1., 0., 1. ));
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  CPPUNIT_ASSERT(Walker != NULL && "could not create atom");
+  Walker->setType(hydrogen);
+  Walker->setPosition(Vector(0., 1., 1. ));
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  CPPUNIT_ASSERT(Walker != NULL && "could not create atom");
+  Walker->setType(hydrogen);
+  Walker->setPosition(Vector(1., 1., 0. ));
+
+  // construct fragment keyset
   SaturatedFragment::GlobalSaturationPositions_t globalpositions;
   set = new KeySet;
+  set->insert(0);
+  set->insert(1);
+  set->insert(2);
   fragment = new SaturatedFragment(
       *set,
@@ -78,4 +113,5 @@
       DoSaturate,
       globalpositions);
+
 }
 
@@ -85,4 +121,14 @@
   delete fragment;
   delete set;
+
+  // remove
+  World::getInstance().destroyMolecule(TestMolecule);
+  // note that all the atoms, molecules, the tafel and the elements
+  // are all cleaned when the world is destroyed
+  World::purgeInstance();
+  AtomObserver::purgeInstance();
+  logger::purgeInstance();
+  errorLogger::purgeInstance();
+  WorldTime::purgeInstance();
 }
 
@@ -93,2 +139,13 @@
   CPPUNIT_ASSERT_EQUAL( *set, fragment->getKeySet() );
 }
+
+/** UnitTest for getRoughBoundingBox()
+ */
+void SaturatedFragmentTest::getRoughBoundingBox()
+{
+  const std::pair<Vector, Vector> minmax = fragment->getRoughBoundingBox();
+  for (size_t i=0;i<NDIM;++i) {
+    CPPUNIT_ASSERT( minmax.first[i] >= 0. );
+    CPPUNIT_ASSERT( minmax.second[i] <= 1. );
+  }
+}
Index: src/Fragmentation/Exporters/unittests/SaturatedFragmentUnitTest.hpp
===================================================================
--- src/Fragmentation/Exporters/unittests/SaturatedFragmentUnitTest.hpp	(revision fe90ab76a0488cae2c9dc4e5dbf47938334d5839)
+++ src/Fragmentation/Exporters/unittests/SaturatedFragmentUnitTest.hpp	(revision c6ddcb49851617a614ac989bfeae41c91886a779)
@@ -20,5 +20,7 @@
 #include "Fragmentation/Exporters/SaturatedFragment.hpp"
 
+class element;
 class KeySet;
+class molecule;
 
 /********************************************** Test classes **************************************/
@@ -28,4 +30,5 @@
     CPPUNIT_TEST_SUITE( SaturatedFragmentTest) ;
     CPPUNIT_TEST ( getKeySet_Test );
+    CPPUNIT_TEST ( getRoughBoundingBox );
     CPPUNIT_TEST_SUITE_END();
 
@@ -34,4 +37,5 @@
       void tearDown();
       void getKeySet_Test();
+      void getRoughBoundingBox();
 
 private:
@@ -40,4 +44,8 @@
       KeySet *set;
       SaturatedFragment *fragment;
+
+      molecule *TestMolecule;
+      const element *hydrogen;
+      const element *oxygen;
 };
 
