Index: src/unittests/AnalysisCorrelationToPointUnitTest.cpp
===================================================================
--- src/unittests/AnalysisCorrelationToPointUnitTest.cpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisCorrelationToPointUnitTest.cpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
@@ -0,0 +1,154 @@
+/*
+ * AnalysisCorrelationToPointUnitTest.cpp
+ *
+ *  Created on: Oct 13, 2009
+ *      Author: heber
+ */
+
+using namespace std;
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+#include "analysis_correlation.hpp"
+#include "AnalysisCorrelationToPointUnitTest.hpp"
+
+#include "atom.hpp"
+#include "boundary.hpp"
+#include "element.hpp"
+#include "molecule.hpp"
+#include "linkedcell.hpp"
+#include "periodentafel.hpp"
+#include "tesselation.hpp"
+
+/********************************************** Test classes **************************************/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( AnalysisCorrelationToPointUnitTest );
+
+void AnalysisCorrelationToPointUnitTest::setUp()
+{
+  atom *Walker = NULL;
+
+  // init private all pointers to zero
+  TestMolecule = NULL;
+  hydrogen = NULL;
+  tafel = NULL;
+  pointmap = NULL;
+  binmap = NULL;
+  point = NULL;
+
+  // construct element
+  hydrogen = new element;
+  hydrogen->Z = 1;
+  strcpy(hydrogen->name, "hydrogen");
+  hydrogen->symbol[0] = 'H';
+
+  // construct periodentafel
+  tafel = new periodentafel;
+  tafel->AddElement(hydrogen);
+
+  // construct molecule (tetraeder of hydrogens)
+  TestMolecule = new molecule(tafel);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(1., 0., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(0., 1., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(1., 1., 0. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(0., 0., 0. );
+  TestMolecule->AddAtom(Walker);
+
+  // check that TestMolecule was correctly constructed
+  CPPUNIT_ASSERT_EQUAL( TestMolecule->AtomCount, 4 );
+
+  // init point
+  point = new Vector(1.,1.,1.);
+
+  // init maps
+  pointmap = CorrelationToPoint( (ofstream *)&cout, TestMolecule, hydrogen, point );
+  binmap = NULL;
+
+};
+
+
+void AnalysisCorrelationToPointUnitTest::tearDown()
+{
+  if (pointmap != NULL)
+    delete(pointmap);
+  if (binmap != NULL)
+    delete(binmap);
+
+  // remove
+  delete(TestMolecule);
+  // note that all the atoms are cleaned by TestMolecule
+  delete(point);
+  delete(tafel);
+  // note that element is cleaned by periodentafel
+};
+
+void AnalysisCorrelationToPointUnitTest::CorrelationToPointTest()
+{
+  // do the pair correlation
+  CPPUNIT_ASSERT( pointmap != NULL );
+  CPPUNIT_ASSERT_EQUAL( (size_t)4, pointmap->size() );
+
+};
+
+void AnalysisCorrelationToPointUnitTest::CorrelationToPointBinNoRangeTest()
+{
+  BinPairMap::iterator tester;
+  // put pair correlation into bins and check with no range
+  binmap = BinData( (ofstream *)&cout, pointmap, 0.5, 0., 0. );
+  CPPUNIT_ASSERT_EQUAL( (size_t)2, binmap->size() );
+  //OutputCorrelation ( (ofstream *)&cout, binmap );
+  tester = binmap->begin();
+  CPPUNIT_ASSERT_EQUAL( 1., tester->first );
+  CPPUNIT_ASSERT_EQUAL( 3, tester->second );
+
+};
+
+void AnalysisCorrelationToPointUnitTest::CorrelationToPointBinRangeTest()
+{
+  BinPairMap::iterator tester;
+  // ... and check with [0., 2.] range
+  binmap = BinData( (ofstream *)&cout, pointmap, 0.5, 0., 2. );
+  CPPUNIT_ASSERT_EQUAL( (size_t)5, binmap->size() );
+  //OutputCorrelation ( (ofstream *)&cout, binmap );
+  tester = binmap->begin();
+  CPPUNIT_ASSERT_EQUAL( 0., tester->first );
+  tester = binmap->find(1.);
+  CPPUNIT_ASSERT_EQUAL( 1., tester->first );
+  CPPUNIT_ASSERT_EQUAL( 3, tester->second );
+
+};
+
+/********************************************** Main routine **************************************/
+
+int main(int argc, char **argv)
+{
+  // Get the top level suite from the registry
+  CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest();
+
+  // Adds the test to the list of test to run
+  CppUnit::TextUi::TestRunner runner;
+  runner.addTest( suite );
+
+  // Change the default outputter to a compiler error format outputter
+  runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(),
+                                                       std::cerr ) );
+  // Run the tests.
+  bool wasSucessful = runner.run();
+
+  // Return error code 1 if the one of test failed.
+  return wasSucessful ? 0 : 1;
+};
Index: src/unittests/AnalysisCorrelationToPointUnitTest.hpp
===================================================================
--- src/unittests/AnalysisCorrelationToPointUnitTest.hpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisCorrelationToPointUnitTest.hpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
@@ -0,0 +1,48 @@
+/*
+ * AnalysisCorrelationToPointUnitTest.hpp
+ *
+ *  Created on: Oct 13, 2009
+ *      Author: heber
+ */
+
+#ifndef ANALYSISCORRELATIONTOPOINTUNITTEST_HPP_
+#define ANALYSISCORRELATIONTOPOINTUNITTEST_HPP_
+
+#include <cppunit/extensions/HelperMacros.h>
+
+class element;
+class molecule;
+class LinkedCell;
+class periodentafel;
+class Tesselation;
+class Vector;
+
+/********************************************** Test classes **************************************/
+
+class AnalysisCorrelationToPointUnitTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( AnalysisCorrelationToPointUnitTest ) ;
+    CPPUNIT_TEST ( CorrelationToPointTest );
+    CPPUNIT_TEST ( CorrelationToPointBinNoRangeTest );
+    CPPUNIT_TEST ( CorrelationToPointBinRangeTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+      void setUp();
+      void tearDown();
+      void CorrelationToPointTest();
+      void CorrelationToPointBinNoRangeTest();
+      void CorrelationToPointBinRangeTest();
+
+private:
+
+      molecule *TestMolecule;
+      element *hydrogen;
+      periodentafel *tafel;
+
+      CorrelationToPointMap *pointmap;
+      BinPairMap *binmap;
+      Vector *point;
+};
+
+#endif /* ANALYSISCORRELATIONTOPOINTUNITTEST_HPP_ */
Index: src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
===================================================================
--- src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
@@ -0,0 +1,163 @@
+/*
+ * AnalysisCorrelationToSurfaceUnitTest.cpp
+ *
+ *  Created on: Oct 13, 2009
+ *      Author: heber
+ */
+
+using namespace std;
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+#include "analysis_correlation.hpp"
+#include "AnalysisCorrelationToSurfaceUnitTest.hpp"
+
+#include "atom.hpp"
+#include "boundary.hpp"
+#include "element.hpp"
+#include "molecule.hpp"
+#include "linkedcell.hpp"
+#include "periodentafel.hpp"
+#include "tesselation.hpp"
+
+/********************************************** Test classes **************************************/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( AnalysisCorrelationToSurfaceUnitTest );
+
+void AnalysisCorrelationToSurfaceUnitTest::setUp()
+{
+  atom *Walker = NULL;
+
+  // init private all pointers to zero
+  TestMolecule = NULL;
+  hydrogen = NULL;
+  tafel = NULL;
+  surfacemap = NULL;
+  binmap = NULL;
+  Surface = NULL;
+  LC = NULL;
+
+
+  // construct element
+  hydrogen = new element;
+  hydrogen->Z = 1;
+  strcpy(hydrogen->name, "hydrogen");
+  hydrogen->symbol[0] = 'H';
+
+  // construct periodentafel
+  tafel = new periodentafel;
+  tafel->AddElement(hydrogen);
+
+  // construct molecule (tetraeder of hydrogens)
+  TestMolecule = new molecule(tafel);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(1., 0., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(0., 1., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(1., 1., 0. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(0., 0., 0. );
+  TestMolecule->AddAtom(Walker);
+
+  // check that TestMolecule was correctly constructed
+  CPPUNIT_ASSERT_EQUAL( TestMolecule->AtomCount, 4 );
+
+  // init tesselation and linked cell
+  Surface = new Tesselation;
+  TestMolecule->TesselStruct = Surface;
+  FindNonConvexBorder((ofstream *)&cout, TestMolecule, LC, 2.5, NULL);
+  LC = new LinkedCell(TestMolecule, 5.);
+  CPPUNIT_ASSERT_EQUAL( (size_t)4, Surface->PointsOnBoundary.size() );
+  CPPUNIT_ASSERT_EQUAL( (size_t)6, Surface->LinesOnBoundary.size() );
+  CPPUNIT_ASSERT_EQUAL( (size_t)4, Surface->TrianglesOnBoundary.size() );
+
+  // init maps
+  surfacemap = CorrelationToSurface( (ofstream *)&cout, TestMolecule, hydrogen, Surface, LC );
+  binmap = NULL;
+
+};
+
+
+void AnalysisCorrelationToSurfaceUnitTest::tearDown()
+{
+  if (surfacemap != NULL)
+    delete(surfacemap);
+  if (binmap != NULL)
+    delete(binmap);
+
+  // remove
+  delete(TestMolecule);
+  // note that Surface and all the atoms are cleaned by TestMolecule
+  delete(LC);
+  delete(tafel);
+  // note that element is cleaned by periodentafel
+};
+
+
+void AnalysisCorrelationToSurfaceUnitTest::CorrelationToSurfaceTest()
+{
+  // do the pair correlation
+  CPPUNIT_ASSERT( surfacemap != NULL );
+  CPPUNIT_ASSERT_EQUAL( (size_t)4, surfacemap->size() );
+};
+
+void AnalysisCorrelationToSurfaceUnitTest::CorrelationToSurfaceBinNoRangeTest()
+{
+  BinPairMap::iterator tester;
+  // put pair correlation into bins and check with no range
+  binmap = BinData( (ofstream *)&cout, surfacemap, 0.5, 0., 0. );
+  CPPUNIT_ASSERT_EQUAL( (size_t)1, binmap->size() );
+  //OutputCorrelation ( (ofstream *)&cout, binmap );
+  tester = binmap->begin();
+  CPPUNIT_ASSERT_EQUAL( 0., tester->first );
+  CPPUNIT_ASSERT_EQUAL( 4, tester->second );
+
+};
+
+void AnalysisCorrelationToSurfaceUnitTest::CorrelationToSurfaceBinRangeTest()
+{
+  BinPairMap::iterator tester;
+  // ... and check with [0., 2.] range
+  binmap = BinData( (ofstream *)&cout, surfacemap, 0.5, 0., 2. );
+  CPPUNIT_ASSERT_EQUAL( (size_t)5, binmap->size() );
+  //OutputCorrelation ( (ofstream *)&cout, binmap );
+  tester = binmap->begin();
+  CPPUNIT_ASSERT_EQUAL( 0., tester->first );
+  CPPUNIT_ASSERT_EQUAL( 4, tester->second );
+  tester = binmap->find(1.);
+  CPPUNIT_ASSERT_EQUAL( 1., tester->first );
+  CPPUNIT_ASSERT_EQUAL( 0, tester->second );
+
+};
+
+/********************************************** Main routine **************************************/
+
+int main(int argc, char **argv)
+{
+  // Get the top level suite from the registry
+  CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest();
+
+  // Adds the test to the list of test to run
+  CppUnit::TextUi::TestRunner runner;
+  runner.addTest( suite );
+
+  // Change the default outputter to a compiler error format outputter
+  runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(),
+                                                       std::cerr ) );
+  // Run the tests.
+  bool wasSucessful = runner.run();
+
+  // Return error code 1 if the one of test failed.
+  return wasSucessful ? 0 : 1;
+};
Index: src/unittests/AnalysisCorrelationToSurfaceUnitTest.hpp
===================================================================
--- src/unittests/AnalysisCorrelationToSurfaceUnitTest.hpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisCorrelationToSurfaceUnitTest.hpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
@@ -0,0 +1,48 @@
+/*
+ * AnalysisCorrelationToSurfaceUnitTest.hpp
+ *
+ *  Created on: Oct 13, 2009
+ *      Author: heber
+ */
+
+#ifndef ANALYSISCORRELATIONTOSURFACEUNITTEST_HPP_
+#define ANALYSISCORRELATIONTOSURFACEUNITTEST_HPP_
+
+#include <cppunit/extensions/HelperMacros.h>
+
+class element;
+class molecule;
+class LinkedCell;
+class periodentafel;
+class Tesselation;
+
+/********************************************** Test classes **************************************/
+
+class AnalysisCorrelationToSurfaceUnitTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( AnalysisCorrelationToSurfaceUnitTest ) ;
+    CPPUNIT_TEST ( CorrelationToSurfaceTest );
+    CPPUNIT_TEST ( CorrelationToSurfaceBinNoRangeTest );
+    CPPUNIT_TEST ( CorrelationToSurfaceBinRangeTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+      void setUp();
+      void tearDown();
+      void CorrelationToSurfaceTest();
+      void CorrelationToSurfaceBinNoRangeTest();
+      void CorrelationToSurfaceBinRangeTest();
+
+private:
+
+      molecule *TestMolecule;
+      element *hydrogen;
+      periodentafel *tafel;
+
+      CorrelationToSurfaceMap *surfacemap;
+      BinPairMap *binmap;
+      Tesselation *Surface;
+      LinkedCell *LC;
+};
+
+#endif /* ANALYSISCORRELATIONTOSURFACEUNITTEST_HPP_ */
Index: src/unittests/AnalysisPairCorrelationUnitTest.cpp
===================================================================
--- src/unittests/AnalysisPairCorrelationUnitTest.cpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisPairCorrelationUnitTest.cpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
@@ -0,0 +1,147 @@
+/*
+ * AnalysisPairCorrelationUnitTest.cpp
+ *
+ *  Created on: Oct 13, 2009
+ *      Author: heber
+ */
+
+using namespace std;
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+#include "analysis_correlation.hpp"
+#include "AnalysisPairCorrelationUnitTest.hpp"
+
+#include "atom.hpp"
+#include "boundary.hpp"
+#include "element.hpp"
+#include "molecule.hpp"
+#include "linkedcell.hpp"
+#include "periodentafel.hpp"
+#include "tesselation.hpp"
+
+/********************************************** Test classes **************************************/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( AnalysisPairCorrelationUnitTest );
+
+
+void AnalysisPairCorrelationUnitTest::setUp()
+{
+  atom *Walker = NULL;
+
+  // init private all pointers to zero
+  TestMolecule = NULL;
+  hydrogen = NULL;
+  tafel = NULL;
+  correlationmap = NULL;
+  binmap = NULL;
+
+  // construct element
+  hydrogen = new element;
+  hydrogen->Z = 1;
+  strcpy(hydrogen->name, "hydrogen");
+  hydrogen->symbol[0] = 'H';
+
+  // construct periodentafel
+  tafel = new periodentafel;
+  tafel->AddElement(hydrogen);
+
+  // construct molecule (tetraeder of hydrogens)
+  TestMolecule = new molecule(tafel);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(1., 0., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(0., 1., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(1., 1., 0. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = hydrogen;
+  Walker->node->Init(0., 0., 0. );
+  TestMolecule->AddAtom(Walker);
+
+  // check that TestMolecule was correctly constructed
+  CPPUNIT_ASSERT_EQUAL( TestMolecule->AtomCount, 4 );
+
+  // init maps
+  correlationmap = PairCorrelation( (ofstream *)&cout, TestMolecule, hydrogen, hydrogen );
+  binmap = NULL;
+
+};
+
+
+void AnalysisPairCorrelationUnitTest::tearDown()
+{
+  if (correlationmap != NULL)
+    delete(correlationmap);
+  if (binmap != NULL)
+    delete(binmap);
+
+  // remove
+  delete(TestMolecule);
+  // note that all the atoms are cleaned by TestMolecule
+  delete(tafel);
+  // note that element is cleaned by periodentafel
+};
+
+void AnalysisPairCorrelationUnitTest::PairCorrelationTest()
+{
+  // do the pair correlation
+  CPPUNIT_ASSERT( correlationmap != NULL );
+  CPPUNIT_ASSERT_EQUAL( (size_t)6, correlationmap->size() );
+};
+
+void AnalysisPairCorrelationUnitTest::PairCorrelationBinNoRangeTest()
+{
+  BinPairMap::iterator tester;
+  // put pair correlation into bins and check with no range
+  binmap = BinData( (ofstream *)&cout, correlationmap, 0.5, 0., 0. );
+  CPPUNIT_ASSERT_EQUAL( (size_t)1, binmap->size() );
+  //OutputCorrelation ( (ofstream *)&cout, binmap );
+  tester = binmap->begin();
+  CPPUNIT_ASSERT_EQUAL( sqrt(2.), tester->first );
+  CPPUNIT_ASSERT_EQUAL( 6, tester->second );
+};
+
+void AnalysisPairCorrelationUnitTest::PairCorrelationBinRangeTest()
+{
+  BinPairMap::iterator tester;
+  // ... and check with [0., 2.] range
+  binmap = BinData( (ofstream *)&cout, correlationmap, 0.5, 0., 2. );
+  CPPUNIT_ASSERT_EQUAL( (size_t)5, binmap->size() );
+  //OutputCorrelation ( (ofstream *)&cout, binmap );
+  tester = binmap->begin();
+  CPPUNIT_ASSERT_EQUAL( 0., tester->first );
+  tester = binmap->find(1.);
+  CPPUNIT_ASSERT_EQUAL( 1., tester->first );
+  CPPUNIT_ASSERT_EQUAL( 6, tester->second );
+};
+
+/********************************************** Main routine **************************************/
+
+int main(int argc, char **argv)
+{
+  // Get the top level suite from the registry
+  CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest();
+
+  // Adds the test to the list of test to run
+  CppUnit::TextUi::TestRunner runner;
+  runner.addTest( suite );
+
+  // Change the default outputter to a compiler error format outputter
+  runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(),
+                                                       std::cerr ) );
+  // Run the tests.
+  bool wasSucessful = runner.run();
+
+  // Return error code 1 if the one of test failed.
+  return wasSucessful ? 0 : 1;
+};
Index: src/unittests/AnalysisPairCorrelationUnitTest.hpp
===================================================================
--- src/unittests/AnalysisPairCorrelationUnitTest.hpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisPairCorrelationUnitTest.hpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
@@ -0,0 +1,47 @@
+/*
+ * AnalysisPairCorrelationUnitTest.hpp
+ *
+ *  Created on: Oct 13, 2009
+ *      Author: heber
+ */
+
+#ifndef ANALYSISPAIRCORRELATIONUNITTEST_HPP_
+#define ANALYSISPAIRCORRELATIONUNITTEST_HPP_
+
+#include <cppunit/extensions/HelperMacros.h>
+
+class element;
+class molecule;
+class LinkedCell;
+class periodentafel;
+class Tesselation;
+class Vector;
+
+/********************************************** Test classes **************************************/
+
+class AnalysisPairCorrelationUnitTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( AnalysisPairCorrelationUnitTest ) ;
+    CPPUNIT_TEST ( PairCorrelationTest );
+    CPPUNIT_TEST ( PairCorrelationBinNoRangeTest );
+    CPPUNIT_TEST ( PairCorrelationBinRangeTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+      void setUp();
+      void tearDown();
+      void PairCorrelationTest();
+      void PairCorrelationBinNoRangeTest();
+      void PairCorrelationBinRangeTest();
+
+private:
+
+      molecule *TestMolecule;
+      element *hydrogen;
+      periodentafel *tafel;
+
+      PairCorrelationMap *correlationmap;
+      BinPairMap *binmap;
+};
+
+#endif /* ANALYSISPAIRCORRELATIONUNITTEST_HPP_ */
Index: src/unittests/Makefile.am
===================================================================
--- src/unittests/Makefile.am	(revision c111dbf810e0e3f7f92d4afa3b50cd427f3d515d)
+++ src/unittests/Makefile.am	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
@@ -1,14 +1,28 @@
 INCLUDES = -I$(top_srcdir)/src
 
-noinst_PROGRAMS =  ActOnAllTest MemoryAllocatorUnitTest MemoryUsageObserverUnitTest VectorUnitTest
+noinst_PROGRAMS =  ActOnAllUnitTest AnalysisCorrelationToPointUnitTest AnalysisCorrelationToSurfaceUnitTest AnalysisPairCorrelationUnitTest MemoryAllocatorUnitTest MemoryUsageObserverUnitTest VectorUnitTest
 
-TESTS = ActOnAllTest MemoryUsageObserverUnitTest MemoryAllocatorUnitTest VectorUnitTest
+TESTS = ActOnAllUnitTest AnalysisCorrelationToPointUnitTest AnalysisCorrelationToSurfaceUnitTest AnalysisPairCorrelationUnitTest MemoryUsageObserverUnitTest MemoryAllocatorUnitTest VectorUnitTest
 check_PROGRAMS = $(TESTS)
 
-ActOnAllTest_SOURCES = ActOnAllTest.hpp ActOnAllUnitTest.cpp ActOnAllUnitTest.hpp memoryallocator.hpp
-ActOnAllTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
-ActOnAllTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
-ActOnAllTest_LDADD = ../libmolecuilder.a
+ActOnAllUnitTest_SOURCES = ActOnAllTest.hpp ActOnAllUnitTest.cpp ActOnAllUnitTest.hpp memoryallocator.hpp
+ActOnAllUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
+ActOnAllUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
+ActOnAllUnitTest_LDADD = ../libmolecuilder.a
 
+AnalysisCorrelationToPointUnitTest_SOURCES = analysis_correlation.hpp AnalysisCorrelationToPointUnitTest.cpp AnalysisCorrelationToPointUnitTest.hpp
+AnalysisCorrelationToPointUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
+AnalysisCorrelationToPointUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
+AnalysisCorrelationToPointUnitTest_LDADD = ../libmolecuilder.a
+
+AnalysisCorrelationToSurfaceUnitTest_SOURCES = analysis_correlation.hpp AnalysisCorrelationToSurfaceUnitTest.cpp AnalysisCorrelationToSurfaceUnitTest.hpp
+AnalysisCorrelationToSurfaceUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
+AnalysisCorrelationToSurfaceUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
+AnalysisCorrelationToSurfaceUnitTest_LDADD = ../libmolecuilder.a
+
+AnalysisPairCorrelationUnitTest_SOURCES = analysis_correlation.hpp AnalysisPairCorrelationUnitTest.cpp AnalysisPairCorrelationUnitTest.hpp
+AnalysisPairCorrelationUnitTest_CXXFLAGS = $(CPPUNIT_CFLAGS)
+AnalysisPairCorrelationUnitTest_LDFLAGS = $(CPPUNIT_LIBS) -ldl
+AnalysisPairCorrelationUnitTest_LDADD = ../libmolecuilder.a
 
 VectorUnitTest_SOURCES = defs.hpp helpers.hpp leastsquaremin.hpp memoryallocator.hpp memoryusageobserver.hpp vectorunittest.cpp vectorunittest.hpp vector.hpp verbose.hpp 
