Index: src/unittests/Makefile.am
===================================================================
--- src/unittests/Makefile.am	(revision 0d4424de796ea0eb6de8098859070b5acdb6edae)
+++ src/unittests/Makefile.am	(revision bbf1bd95420fd2556318900509aeb2a2b49865e8)
@@ -22,5 +22,4 @@
   CountBondsUnitTest \
   FormulaUnittest \
-  GSLVectorUnitTest \
   InfoUnitTest \
   LinearSystemOfEquationsUnitTest \
@@ -46,4 +45,5 @@
   Tesselation_BoundaryTriangleUnitTest \
   Tesselation_InOutsideUnitTest \
+  VectorContentUnitTest \
   VectorUnitTest
   
@@ -82,5 +82,4 @@
   CountBondsUnitTest.cpp \
   FormulaUnittest.cpp \
-  gslvectorunittest.cpp \
   infounittest.cpp \
   linearsystemofequationsunittest.cpp \
@@ -106,4 +105,5 @@
   tesselation_boundarytriangleunittest.cpp \
   tesselation_insideoutsideunittest.cpp \
+  VectorContentUnittest.cpp \
   vectorunittest.cpp
 
@@ -122,5 +122,4 @@
   CountBondsUnitTest.hpp \
   FormulaUnittest.hpp \
-  gslvectorunittest.hpp \
   infounittest.hpp \
   linearsystemofequationsunittest.hpp \
@@ -145,4 +144,5 @@
   tesselation_boundarytriangleunittest.hpp \
   tesselation_insideoutsideunittest.hpp \
+  VectorContentUnittest.hpp \
   vectorunittest.hpp
   
@@ -193,7 +193,4 @@
 MatrixContentUnitTest_LDADD = ${ALLLIBS}
 
-GSLVectorUnitTest_SOURCES = UnitTestMain.cpp gslvectorunittest.cpp gslvectorunittest.hpp
-GSLVectorUnitTest_LDADD = ${ALLLIBS}
-
 InfoUnitTest_SOURCES = UnitTestMain.cpp infounittest.cpp infounittest.hpp
 InfoUnitTest_LDADD = ${ALLLIBS}
@@ -262,4 +259,7 @@
 TestRunner_LDADD = ${UILIBS} ${ALLLIBS}
 
+VectorContentUnitTest_SOURCES = UnitTestMain.cpp VectorContentUnittest.cpp VectorContentUnittest.hpp
+VectorContentUnitTest_LDADD = ${ALLLIBS}
+
 VectorUnitTest_SOURCES = UnitTestMain.cpp vectorunittest.cpp vectorunittest.hpp 
 VectorUnitTest_LDADD = ${ALLLIBS}
Index: src/unittests/MatrixContentSymmetricUnittest.cpp
===================================================================
--- src/unittests/MatrixContentSymmetricUnittest.cpp	(revision 0d4424de796ea0eb6de8098859070b5acdb6edae)
+++ src/unittests/MatrixContentSymmetricUnittest.cpp	(revision bbf1bd95420fd2556318900509aeb2a2b49865e8)
@@ -230,4 +230,5 @@
   res.transpose();
   CPPUNIT_ASSERT( *m == res );
+  delete n;
 };
 
Index: src/unittests/MatrixContentUnittest.cpp
===================================================================
--- src/unittests/MatrixContentUnittest.cpp	(revision 0d4424de796ea0eb6de8098859070b5acdb6edae)
+++ src/unittests/MatrixContentUnittest.cpp	(revision bbf1bd95420fd2556318900509aeb2a2b49865e8)
@@ -234,4 +234,5 @@
   MatrixContent res2 = ((const MatrixContent)res).transpose();
   CPPUNIT_ASSERT( *m == res2 );
+  delete n;
 };
 
Index: src/unittests/VectorContentUnittest.cpp
===================================================================
--- src/unittests/VectorContentUnittest.cpp	(revision bbf1bd95420fd2556318900509aeb2a2b49865e8)
+++ src/unittests/VectorContentUnittest.cpp	(revision bbf1bd95420fd2556318900509aeb2a2b49865e8)
@@ -0,0 +1,176 @@
+/*
+ * 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.
+ */
+
+/*
+ * VectorContentUnittest.cpp
+ *
+ *  Created on: Jan 8, 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 "VectorContentUnittest.hpp"
+
+#ifdef HAVE_TESTRUNNER
+#include "UnitTestMain.hpp"
+#endif /*HAVE_TESTRUNNER*/
+
+/********************************************** Test classes **************************************/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( VectorContentTest );
+
+
+void VectorContentTest::setUp()
+{
+  v = new VectorContent(3);
+};
+
+void VectorContentTest::tearDown()
+{
+  delete(v);
+};
+
+/** Unit test for accessing elements in the vector.
+ *
+ */
+void VectorContentTest::AccessTest()
+{
+  // set
+  for (int i=0;i<3;i++)
+    v->at(i) = (double)i;
+
+  // and check
+  double *ptr = NULL;
+  for (int i=0;i<3;i++) {
+    CPPUNIT_ASSERT_EQUAL( (double)i, v->at(i) );
+    ptr = v->Pointer(i);
+    CPPUNIT_ASSERT_EQUAL( (double)i, *ptr );
+  }
+
+  // out of bounds
+  //CPPUNIT_ASSERT_EQUAL(0., v->at(3) );
+  //CPPUNIT_ASSERT_EQUAL(0., v->at(-1) );
+};
+
+
+/** Unit test for initializing the vector.
+ *
+ */
+void VectorContentTest::InitializaionTest()
+{
+  // set zero
+  v->setZero();
+  for (int i=0;i<3;i++)
+    CPPUNIT_ASSERT_EQUAL( 0., v->at(i) );
+
+  // set basis
+  for (int i=0;i<3;i++) {
+    v->setBasis(i);
+    for (int j=0;j<3;j++)
+      CPPUNIT_ASSERT_EQUAL( i == j ? 1. : 0. , v->at(j) );
+  }
+
+  // set all
+  v->setValue(1.5);
+  for (int i=0;i<3;i++)
+    CPPUNIT_ASSERT_EQUAL( 1.5, v->at(i) );
+};
+
+/** Unit test for copying vectors.
+ *
+ */
+void VectorContentTest::CopyTest()
+{
+  // set basis
+  VectorContent *dest = NULL;
+  for (int i=0;i<3;i++) {
+    v->setBasis(i);
+    dest = new VectorContent(v);
+    for (int j=0;j<3;j++)
+      CPPUNIT_ASSERT_EQUAL( v->at(j) , dest->at(j) );
+
+    delete(dest);
+  }
+};
+
+/** Unit test for exchanging elements of a vector.
+ *
+ */
+void VectorContentTest::ExchangeTest()
+{
+  // set basis
+  for (int i=0;i<3;i++) {
+    v->setBasis(i);
+    v->SwapElements((i)%3,(i+1)%3);
+    for (int j=0;j<3;j++)
+      CPPUNIT_ASSERT_EQUAL( (i+1)%3 == j ? 1. : 0. , v->at(j) );
+  }
+
+  // set to 1,2,3 and reverse
+  for (int i=0;i<3;i++)
+    v->at(i) = (double)(i+1);
+  v->Reverse();
+  for (int j=0;j<3;j++)
+    CPPUNIT_ASSERT_EQUAL( (double)(3-j), v->at(j) );
+};
+
+/** UnitTest for operators.
+ */
+void VectorContentTest::OperatorIsTest()
+{
+  VectorContent zero(3);
+  VectorContent unit(3);
+  zero.setZero();
+  unit.setZero();
+  unit[1] = 1.;
+  // summation and scaling
+  CPPUNIT_ASSERT_EQUAL( true, unit.IsOne() );
+  CPPUNIT_ASSERT_EQUAL( false, zero.IsOne() );
+  CPPUNIT_ASSERT_EQUAL( false, unit.IsZero() );
+  CPPUNIT_ASSERT_EQUAL( true, zero.IsZero() );
+};
+
+/** UnitTest for operators.
+ */
+void VectorContentTest::OperatorAlgebraTest()
+{
+  VectorContent zero(3);
+  VectorContent unit(3);
+  zero.setZero();
+  unit.setZero();
+  unit[1] = 1.;
+  // summation and scaling
+  CPPUNIT_ASSERT_EQUAL( true, (zero+unit).IsOne() );
+  CPPUNIT_ASSERT_EQUAL( true, (zero+unit).IsOne() );
+  CPPUNIT_ASSERT_EQUAL( true, (zero-unit).IsOne() );
+  CPPUNIT_ASSERT_EQUAL( false, (zero-unit).IsZero() );
+  CPPUNIT_ASSERT_EQUAL( true, (zero+zero).IsZero() );
+  CPPUNIT_ASSERT_EQUAL( false, (unit*0.98).IsOne() );
+  CPPUNIT_ASSERT_EQUAL( false, (0.98*unit).IsOne() );
+  CPPUNIT_ASSERT_EQUAL( true, (unit*1.).IsOne() );
+  CPPUNIT_ASSERT_EQUAL( true, (1.*unit).IsOne() );
+
+  CPPUNIT_ASSERT_EQUAL( unit, (zero+unit) );
+  CPPUNIT_ASSERT_EQUAL( zero, (zero+zero) );
+  CPPUNIT_ASSERT_EQUAL( unit, (unit+zero) );
+
+  unit += zero;
+  CPPUNIT_ASSERT_EQUAL( true, unit.IsOne() );
+  unit *= 1.;
+  CPPUNIT_ASSERT_EQUAL( true, unit.IsOne() );
+};
Index: src/unittests/VectorContentUnittest.hpp
===================================================================
--- src/unittests/VectorContentUnittest.hpp	(revision bbf1bd95420fd2556318900509aeb2a2b49865e8)
+++ src/unittests/VectorContentUnittest.hpp	(revision bbf1bd95420fd2556318900509aeb2a2b49865e8)
@@ -0,0 +1,45 @@
+/*
+ * VectorContentUnittest.hpp
+ *
+ *  Created on: Jan 8, 2010
+ *      Author: heber
+ */
+
+#ifndef VECTORCONTENTUNITTEST_HPP_
+#define VECTORCONTENTUNITTEST_HPP_
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "LinearAlgebra/VectorContent.hpp"
+
+/********************************************** Test classes **************************************/
+
+class VectorContentTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( VectorContentTest) ;
+    CPPUNIT_TEST (AccessTest );
+    CPPUNIT_TEST (InitializaionTest );
+    CPPUNIT_TEST (CopyTest );
+    CPPUNIT_TEST (ExchangeTest );
+    CPPUNIT_TEST (OperatorAlgebraTest );
+    CPPUNIT_TEST (OperatorIsTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+    void setUp();
+    void tearDown();
+
+    void AccessTest();
+    void InitializaionTest();
+    void CopyTest();
+    void ExchangeTest();
+    void OperatorIsTest();
+    void OperatorAlgebraTest();
+
+private:
+
+    VectorContent *v;
+};
+
+
+#endif /* VECTORCONTENTUNITTEST_HPP_ */
Index: src/unittests/gslvectorunittest.cpp
===================================================================
--- src/unittests/gslvectorunittest.cpp	(revision 0d4424de796ea0eb6de8098859070b5acdb6edae)
+++ 	(revision )
@@ -1,176 +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.
- */
-
-/*
- * gslvectorunittest.cpp
- *
- *  Created on: Jan 8, 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 "gslvectorunittest.hpp"
-
-#ifdef HAVE_TESTRUNNER
-#include "UnitTestMain.hpp"
-#endif /*HAVE_TESTRUNNER*/
-
-/********************************************** Test classes **************************************/
-
-// Registers the fixture into the 'registry'
-CPPUNIT_TEST_SUITE_REGISTRATION( GSLVectorTest );
-
-
-void GSLVectorTest::setUp()
-{
-  v = new GSLVector(3);
-};
-
-void GSLVectorTest::tearDown()
-{
-  delete(v);
-};
-
-/** Unit test for accessing elements in the vector.
- *
- */
-void GSLVectorTest::AccessTest()
-{
-  // set
-  for (int i=0;i<3;i++)
-    v->Set(i,i);
-
-  // and check
-  double *ptr = NULL;
-  for (int i=0;i<3;i++) {
-    CPPUNIT_ASSERT_EQUAL( (double)i, v->Get(i) );
-    ptr = v->Pointer(i);
-    CPPUNIT_ASSERT_EQUAL( (double)i, *ptr );
-  }
-
-  // out of bounds
-  //CPPUNIT_ASSERT_EQUAL(0., v->Get(3) );
-  //CPPUNIT_ASSERT_EQUAL(0., v->Get(-1) );
-};
-
-
-/** Unit test for initializing the vector.
- *
- */
-void GSLVectorTest::InitializaionTest()
-{
-  // set zero
-  v->SetZero();
-  for (int i=0;i<3;i++)
-    CPPUNIT_ASSERT_EQUAL( 0., v->Get(i) );
-
-  // set basis
-  for (int i=0;i<3;i++) {
-    v->SetBasis(i);
-    for (int j=0;j<3;j++)
-      CPPUNIT_ASSERT_EQUAL( i == j ? 1. : 0. , v->Get(j) );
-  }
-
-  // set all
-  v->SetAll(1.5);
-  for (int i=0;i<3;i++)
-    CPPUNIT_ASSERT_EQUAL( 1.5, v->Get(i) );
-};
-
-/** Unit test for copying vectors.
- *
- */
-void GSLVectorTest::CopyTest()
-{
-  // set basis
-  GSLVector *dest = NULL;
-  for (int i=0;i<3;i++) {
-    v->SetBasis(i);
-    dest = new GSLVector(v);
-    for (int j=0;j<3;j++)
-      CPPUNIT_ASSERT_EQUAL( v->Get(j) , dest->Get(j) );
-
-    delete(dest);
-  }
-};
-
-/** Unit test for exchanging elements of a vector.
- *
- */
-void GSLVectorTest::ExchangeTest()
-{
-  // set basis
-  for (int i=0;i<3;i++) {
-    v->SetBasis(i);
-    v->SwapElements((i)%3,(i+1)%3);
-    for (int j=0;j<3;j++)
-      CPPUNIT_ASSERT_EQUAL( (i+1)%3 == j ? 1. : 0. , v->Get(j) );
-  }
-
-  // set to 1,2,3 and reverse
-  for (int i=0;i<3;i++)
-    v->Set(i,i+1);
-  v->Reverse();
-  for (int j=0;j<3;j++)
-    CPPUNIT_ASSERT_EQUAL( (double)(3-j), v->Get(j) );
-};
-
-/** UnitTest for operators.
- */
-void GSLVectorTest::OperatorIsTest()
-{
-  GSLVector zero(3);
-  GSLVector unit(3);
-  zero.SetZero();
-  unit.SetZero();
-  unit.Set(1,1.);
-  // summation and scaling
-  CPPUNIT_ASSERT_EQUAL( true, unit.IsOne() );
-  CPPUNIT_ASSERT_EQUAL( false, zero.IsOne() );
-  CPPUNIT_ASSERT_EQUAL( false, unit.IsZero() );
-  CPPUNIT_ASSERT_EQUAL( true, zero.IsZero() );
-};
-
-/** UnitTest for operators.
- */
-void GSLVectorTest::OperatorAlgebraTest()
-{
-  GSLVector zero(3);
-  GSLVector unit(3);
-  zero.SetZero();
-  unit.SetZero();
-  unit.Set(1,1.);
-  // summation and scaling
-  CPPUNIT_ASSERT_EQUAL( true, (zero+unit).IsOne() );
-  CPPUNIT_ASSERT_EQUAL( true, (zero+unit).IsOne() );
-  CPPUNIT_ASSERT_EQUAL( true, (zero-unit).IsOne() );
-  CPPUNIT_ASSERT_EQUAL( false, (zero-unit).IsZero() );
-  CPPUNIT_ASSERT_EQUAL( true, (zero+zero).IsZero() );
-  CPPUNIT_ASSERT_EQUAL( false, (unit*0.98).IsOne() );
-  CPPUNIT_ASSERT_EQUAL( false, (0.98*unit).IsOne() );
-  CPPUNIT_ASSERT_EQUAL( true, (unit*1.).IsOne() );
-  CPPUNIT_ASSERT_EQUAL( true, (1.*unit).IsOne() );
-
-  CPPUNIT_ASSERT_EQUAL( unit, (zero+unit) );
-  CPPUNIT_ASSERT_EQUAL( zero, (zero+zero) );
-  CPPUNIT_ASSERT_EQUAL( unit, (unit+zero) );
-
-  unit += zero;
-  CPPUNIT_ASSERT_EQUAL( true, unit.IsOne() );
-  unit *= 1.;
-  CPPUNIT_ASSERT_EQUAL( true, unit.IsOne() );
-};
Index: src/unittests/gslvectorunittest.hpp
===================================================================
--- src/unittests/gslvectorunittest.hpp	(revision 0d4424de796ea0eb6de8098859070b5acdb6edae)
+++ 	(revision )
@@ -1,45 +1,0 @@
-/*
- * gslvectorunittest.hpp
- *
- *  Created on: Jan 8, 2010
- *      Author: heber
- */
-
-#ifndef GSLVECTORUNITTEST_HPP_
-#define GSLVECTORUNITTEST_HPP_
-
-#include <cppunit/extensions/HelperMacros.h>
-
-#include "LinearAlgebra/gslvector.hpp"
-
-/********************************************** Test classes **************************************/
-
-class GSLVectorTest : public CppUnit::TestFixture
-{
-    CPPUNIT_TEST_SUITE( GSLVectorTest) ;
-    CPPUNIT_TEST (AccessTest );
-    CPPUNIT_TEST (InitializaionTest );
-    CPPUNIT_TEST (CopyTest );
-    CPPUNIT_TEST (ExchangeTest );
-    CPPUNIT_TEST (OperatorAlgebraTest );
-    CPPUNIT_TEST (OperatorIsTest );
-    CPPUNIT_TEST_SUITE_END();
-
-public:
-    void setUp();
-    void tearDown();
-
-    void AccessTest();
-    void InitializaionTest();
-    void CopyTest();
-    void ExchangeTest();
-    void OperatorIsTest();
-    void OperatorAlgebraTest();
-
-private:
-
-    GSLVector *v;
-};
-
-
-#endif /* GSLVECTORUNITTEST_HPP_ */
