Index: src/Actions/unittests/AtomsCalculationUnitTest.cpp
===================================================================
--- src/Actions/unittests/AtomsCalculationUnitTest.cpp	(revision 3c8e8bb4ac545196f3097a1517f779726212885b)
+++ src/Actions/unittests/AtomsCalculationUnitTest.cpp	(revision 3c8e8bb4ac545196f3097a1517f779726212885b)
@@ -0,0 +1,108 @@
+/*
+ * 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.
+ */
+
+/*
+ * AtomsCalculationUnitTest.cpp
+ *
+ *  Created on: Feb 19, 2010
+ *      Author: crueger
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "AtomsCalculationUnitTest.hpp"
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+#include <iostream>
+#include <boost/bind.hpp>
+
+#include "Descriptors/AtomDescriptor.hpp"
+#include "Descriptors/AtomIdDescriptor.hpp"
+#include "Actions/AtomsCalculation.hpp"
+#include "Actions/AtomsCalculation_impl.hpp"
+#include "Actions/ActionRegistry.hpp"
+#include "Actions/ActionTraits.hpp"
+
+#include "World.hpp"
+#include "World_calculations.hpp"
+#include "atom.hpp"
+
+#ifdef HAVE_TESTRUNNER
+#include "UnitTestMain.hpp"
+#endif /*HAVE_TESTRUNNER*/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( AtomsCalculationTest );
+
+// set up and tear down
+void AtomsCalculationTest::setUp(){
+  World::getInstance();
+  for(int i=0;i<ATOM_COUNT;++i){
+    atoms[i]= World::getInstance().createAtom();
+    atomIds[i]= atoms[i]->getId();
+  }
+}
+void AtomsCalculationTest::tearDown(){
+  World::purgeInstance();
+  ActionRegistry::purgeInstance();
+}
+
+// some helper functions
+static bool hasAllIds(std::vector<atomId_t> atoms,atomId_t ids[ATOM_COUNT], std::set<atomId_t> excluded = std::set<atomId_t>()){
+  for(int i=0;i<ATOM_COUNT;++i){
+    atomId_t id = ids[i];
+    if(!excluded.count(id)){
+      std::vector<atomId_t>::iterator iter;
+      bool res=false;
+      for(iter=atoms.begin();iter!=atoms.end();++iter){
+        res |= (*iter) == id;
+      }
+      if(!res) {
+        cout << "Atom " << id << " missing in returned list" << endl;
+        return false;
+      }
+    }
+  }
+  return true;
+}
+
+static bool hasNoDuplicates(std::vector<atomId_t> ids){
+  std::set<atomId_t> found;
+  std::vector<atomId_t>::iterator iter;
+  for(iter=ids.begin();iter!=ids.end();++iter){
+    int id = (*iter);
+    if(found.count(id))
+      return false;
+    found.insert(id);
+  }
+  return true;
+}
+
+void AtomsCalculationTest::testCalculateSimple(){
+  ActionTraits FooTrait("FOO");
+  AtomsCalculation<atomId_t> *calc = World::getInstance().calcOnAtoms<atomId_t>(boost::bind(&atom::getId,_1),FooTrait,AllAtoms());
+  std::vector<atomId_t> allIds = (*calc)();
+  CPPUNIT_ASSERT(hasAllIds(allIds,atomIds));
+  CPPUNIT_ASSERT(hasNoDuplicates(allIds));
+}
+
+void AtomsCalculationTest::testCalculateExcluded(){
+  ActionTraits FooTrait("FOO");
+  atomId_t excluded = atomIds[ATOM_COUNT/2];
+  AtomsCalculation<atomId_t> *calc = World::getInstance().calcOnAtoms<atomId_t>(boost::bind(&atom::getId,_1),FooTrait,AllAtoms() && !AtomById(excluded));
+  std::vector<atomId_t> allIds = (*calc)();
+  std::set<atomId_t> excluded_set;
+  excluded_set.insert(excluded);
+  CPPUNIT_ASSERT(hasAllIds(allIds,atomIds,excluded_set));
+  CPPUNIT_ASSERT(hasNoDuplicates(allIds));
+  CPPUNIT_ASSERT_EQUAL((size_t)(ATOM_COUNT-1),allIds.size());
+}
Index: src/Actions/unittests/AtomsCalculationUnitTest.hpp
===================================================================
--- src/Actions/unittests/AtomsCalculationUnitTest.hpp	(revision 3c8e8bb4ac545196f3097a1517f779726212885b)
+++ src/Actions/unittests/AtomsCalculationUnitTest.hpp	(revision 3c8e8bb4ac545196f3097a1517f779726212885b)
@@ -0,0 +1,39 @@
+/*
+ * AtomsCalculationUnitTest.hpp
+ *
+ *  Created on: Feb 19, 2010
+ *      Author: crueger
+ */
+
+#ifndef ATOMSCALCULATIONUNITTEST_HPP_
+#define ATOMSCALCULATIONUNITTEST_HPP_
+
+#include <cppunit/extensions/HelperMacros.h>
+
+// we prefer enum over define
+enum { ATOM_COUNT = 10 };
+
+#include "types.hpp"
+
+class atom;
+
+class AtomsCalculationTest :  public CppUnit::TestFixture
+{
+  CPPUNIT_TEST_SUITE( AtomsCalculationTest );
+  CPPUNIT_TEST ( testCalculateSimple );
+  CPPUNIT_TEST ( testCalculateExcluded );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  void setUp();
+  void tearDown();
+
+  void testCalculateSimple();
+  void testCalculateExcluded();
+
+private:
+  atom *atoms [ATOM_COUNT];
+  atomId_t atomIds [ATOM_COUNT];
+};
+
+#endif /* ATOMSCALCULATIONUNITTEST_HPP_ */
Index: src/Actions/unittests/Makefile.am
===================================================================
--- src/Actions/unittests/Makefile.am	(revision e7da1f59b247209d90468802fd9412179ff04717)
+++ src/Actions/unittests/Makefile.am	(revision 3c8e8bb4ac545196f3097a1517f779726212885b)
@@ -10,5 +10,6 @@
 TESTS = \
   ActionRegistryUnitTest \
-  ActionSequenceUnitTest
+  ActionSequenceUnitTest \
+  AtomsCalculationUnitTest
 
 check_PROGRAMS = $(TESTS) 
@@ -42,4 +43,9 @@
 ActionSequenceUnitTest_LDADD = ${UILIBS} ${ALLLIBS}
 
+AtomsCalculationUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
+	AtomsCalculationUnitTest.cpp \
+	AtomsCalculationUnitTest.hpp
+AtomsCalculationUnitTest_LDADD = ${ALLLIBS}
+
 
 #AUTOMAKE_OPTIONS = parallel-tests
Index: src/unittests/Makefile.am
===================================================================
--- src/unittests/Makefile.am	(revision e7da1f59b247209d90468802fd9412179ff04717)
+++ src/unittests/Makefile.am	(revision 3c8e8bb4ac545196f3097a1517f779726212885b)
@@ -18,5 +18,4 @@
   AnalysisCorrelationToSurfaceUnitTest \
   AnalysisPairCorrelationUnitTest \
-  atomsCalculationTest \
   BondGraphUnitTest \
   BoxUnittest \
@@ -77,5 +76,5 @@
   AnalysisPairCorrelationUnitTest.cpp \
   ../Descriptors/unittests/AtomDescriptorUnitTest.cpp \
-  atomsCalculationTest.cpp \
+  ../Actions/unittests/AtomsCalculationUnitTest.cpp \
   bondgraphunittest.cpp \
   BoxUnittest.cpp \
@@ -117,5 +116,5 @@
   AnalysisPairCorrelationUnitTest.hpp \
   ../Descriptors/unittests/AtomDescriptorUnitTest.hpp \
-  atomsCalculationTest.hpp \
+  ../Actions/unittests/AtomsCalculationUnitTest.hpp \
   bondgraphunittest.hpp \
   BoxUnittest.hpp \
@@ -163,7 +162,4 @@
 AnalysisPairCorrelationUnitTest_LDADD = ${ALLLIBS}
 
-atomsCalculationTest_SOURCES = UnitTestMain.cpp atomsCalculationTest.cpp atomsCalculationTest.hpp
-atomsCalculationTest_LDADD = ${ALLLIBS}
-
 BondGraphUnitTest_SOURCES = UnitTestMain.cpp bondgraphunittest.cpp bondgraphunittest.hpp
 BondGraphUnitTest_LDADD = ${ALLLIBS}
Index: src/unittests/atomsCalculationTest.cpp
===================================================================
--- src/unittests/atomsCalculationTest.cpp	(revision e7da1f59b247209d90468802fd9412179ff04717)
+++ 	(revision )
@@ -1,108 +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.
- */
-
-/*
- * atomsCalculationTest.cpp
- *
- *  Created on: Feb 19, 2010
- *      Author: crueger
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "atomsCalculationTest.hpp"
-
-#include <cppunit/CompilerOutputter.h>
-#include <cppunit/extensions/TestFactoryRegistry.h>
-#include <cppunit/ui/text/TestRunner.h>
-#include <iostream>
-#include <boost/bind.hpp>
-
-#include "Descriptors/AtomDescriptor.hpp"
-#include "Descriptors/AtomIdDescriptor.hpp"
-#include "Actions/AtomsCalculation.hpp"
-#include "Actions/AtomsCalculation_impl.hpp"
-#include "Actions/ActionRegistry.hpp"
-#include "Actions/ActionTraits.hpp"
-
-#include "World.hpp"
-#include "World_calculations.hpp"
-#include "atom.hpp"
-
-#ifdef HAVE_TESTRUNNER
-#include "UnitTestMain.hpp"
-#endif /*HAVE_TESTRUNNER*/
-
-// Registers the fixture into the 'registry'
-CPPUNIT_TEST_SUITE_REGISTRATION( atomsCalculationTest );
-
-// set up and tear down
-void atomsCalculationTest::setUp(){
-  World::getInstance();
-  for(int i=0;i<ATOM_COUNT;++i){
-    atoms[i]= World::getInstance().createAtom();
-    atomIds[i]= atoms[i]->getId();
-  }
-}
-void atomsCalculationTest::tearDown(){
-  World::purgeInstance();
-  ActionRegistry::purgeInstance();
-}
-
-// some helper functions
-static bool hasAllIds(std::vector<atomId_t> atoms,atomId_t ids[ATOM_COUNT], std::set<atomId_t> excluded = std::set<atomId_t>()){
-  for(int i=0;i<ATOM_COUNT;++i){
-    atomId_t id = ids[i];
-    if(!excluded.count(id)){
-      std::vector<atomId_t>::iterator iter;
-      bool res=false;
-      for(iter=atoms.begin();iter!=atoms.end();++iter){
-        res |= (*iter) == id;
-      }
-      if(!res) {
-        cout << "Atom " << id << " missing in returned list" << endl;
-        return false;
-      }
-    }
-  }
-  return true;
-}
-
-static bool hasNoDuplicates(std::vector<atomId_t> ids){
-  std::set<atomId_t> found;
-  std::vector<atomId_t>::iterator iter;
-  for(iter=ids.begin();iter!=ids.end();++iter){
-    int id = (*iter);
-    if(found.count(id))
-      return false;
-    found.insert(id);
-  }
-  return true;
-}
-
-void atomsCalculationTest::testCalculateSimple(){
-  ActionTraits FooTrait("FOO");
-  AtomsCalculation<atomId_t> *calc = World::getInstance().calcOnAtoms<atomId_t>(boost::bind(&atom::getId,_1),FooTrait,AllAtoms());
-  std::vector<atomId_t> allIds = (*calc)();
-  CPPUNIT_ASSERT(hasAllIds(allIds,atomIds));
-  CPPUNIT_ASSERT(hasNoDuplicates(allIds));
-}
-
-void atomsCalculationTest::testCalculateExcluded(){
-  ActionTraits FooTrait("FOO");
-  atomId_t excluded = atomIds[ATOM_COUNT/2];
-  AtomsCalculation<atomId_t> *calc = World::getInstance().calcOnAtoms<atomId_t>(boost::bind(&atom::getId,_1),FooTrait,AllAtoms() && !AtomById(excluded));
-  std::vector<atomId_t> allIds = (*calc)();
-  std::set<atomId_t> excluded_set;
-  excluded_set.insert(excluded);
-  CPPUNIT_ASSERT(hasAllIds(allIds,atomIds,excluded_set));
-  CPPUNIT_ASSERT(hasNoDuplicates(allIds));
-  CPPUNIT_ASSERT_EQUAL((size_t)(ATOM_COUNT-1),allIds.size());
-}
Index: src/unittests/atomsCalculationTest.hpp
===================================================================
--- src/unittests/atomsCalculationTest.hpp	(revision e7da1f59b247209d90468802fd9412179ff04717)
+++ 	(revision )
@@ -1,39 +1,0 @@
-/*
- * atomsCalculationTest.hpp
- *
- *  Created on: Feb 19, 2010
- *      Author: crueger
- */
-
-#ifndef ATOMSCALCULATIONTEST_HPP_
-#define ATOMSCALCULATIONTEST_HPP_
-
-#include <cppunit/extensions/HelperMacros.h>
-
-// we prefer enum over define
-enum { ATOM_COUNT = 10 };
-
-#include "types.hpp"
-
-class atom;
-
-class atomsCalculationTest :  public CppUnit::TestFixture
-{
-  CPPUNIT_TEST_SUITE( atomsCalculationTest );
-  CPPUNIT_TEST ( testCalculateSimple );
-  CPPUNIT_TEST ( testCalculateExcluded );
-  CPPUNIT_TEST_SUITE_END();
-
-public:
-  void setUp();
-  void tearDown();
-
-  void testCalculateSimple();
-  void testCalculateExcluded();
-
-private:
-  atom *atoms [ATOM_COUNT];
-  atomId_t atomIds [ATOM_COUNT];
-};
-
-#endif /* ATOMSCALCULATIONTEST_HPP_ */
