Index: src/Potentials/unittests/CompoundPotentialUnitTest.cpp
===================================================================
--- src/Potentials/unittests/CompoundPotentialUnitTest.cpp	(revision 154e88d6d6cb3f0007aab8009f1e97262d02e3fa)
+++ src/Potentials/unittests/CompoundPotentialUnitTest.cpp	(revision 7e5b948dfcdf3cb9788af021b64481bb1fd5d746)
@@ -50,4 +50,5 @@
 #include "Potentials/PotentialFactory.hpp"
 #include "Potentials/PotentialRegistry.hpp"
+#include "Potentials/Specifics/ConstantPotential.hpp"
 #include "Potentials/Specifics/PairPotential_Morse.hpp"
 
@@ -80,4 +81,13 @@
     PotentialRegistry::getInstance().registerInstance(morse);
     morse = NULL;
+  }
+  // register ConstantPotential with registry
+  {
+    ConstantPotential::ParticleTypes_t types;
+    EmpiricalPotential *constant =
+        PotentialFactory::getInstance().createInstance(
+            std::string("constant"), types);
+    PotentialRegistry::getInstance().registerInstance(constant);
+    constant = NULL;
   }
 
@@ -144,12 +154,13 @@
   CompoundPotential compound(*graph);
   CompoundPotential::parameters_t params;
-  params += a,c,D,d;
+  params += d,a,c,D;
   compound.setParameters(params);
   for (size_t index = 0; index < input.size(); ++index) {
     argument_t arg(argument_t::indices_t(0,1), argument_t::types_t(0,1), input[index]);
+    const double result = compound( FunctionModel::arguments_t(1,arg) )[0];
     CPPUNIT_ASSERT(
         Helpers::isEqual(
             output[index],
-            compound( FunctionModel::arguments_t(1,arg) )[0],
+            result,
             1.e-4/std::numeric_limits<double>::epsilon() // only compare four digits
         )
@@ -164,13 +175,12 @@
 //  CompoundPotential compound(*graph);
 //  CompoundPotential::parameters_t params;
-//  params += a,c,D,d;
+//  params += d,a,c,D;
 //  compound.setParameters(params);
 //  argument_t arg(argument_t::indices_t(0,1), argument_t::types_t(0,1), c);
+//  const double result = compound.derivative(FunctionModel::arguments_t(1,arg))[0]
 //  CPPUNIT_ASSERT(
 //      Helpers::isEqual(
 //          0.,
-//          compound.derivative(
-//              FunctionModel::arguments_t(1,arg)
-//          )[0],
+//          result,
 //          1.e+6
 //      )
@@ -185,46 +195,58 @@
   CompoundPotential compound(*graph);
   CompoundPotential::parameters_t params;
-  params += a,c,D,d;
+  params += d,a,c,D;
   compound.setParameters(params);
   argument_t arg(argument_t::indices_t(0,1), argument_t::types_t(0,1), c);
-  CPPUNIT_ASSERT(
-      Helpers::isEqual(
-          0.,
-          compound.parameter_derivative(
-              FunctionModel::arguments_t(1,arg),
-              0
-          )[0],
-          1.e+6
-      )
-  );
-  CPPUNIT_ASSERT(
-      Helpers::isEqual(
-          0.,
-          compound.parameter_derivative(
-              FunctionModel::arguments_t(1,arg),
-              1
-          )[0],
-          1.e+6
-      )
-  );
-  CPPUNIT_ASSERT(
-      Helpers::isEqual(
-          0.,
-          compound.parameter_derivative(
-              FunctionModel::arguments_t(1,arg),
-              2
-          )[0],
-          1.e+6
-      )
-  );
-  CPPUNIT_ASSERT(
-      Helpers::isEqual(
-          1.,
-          compound.parameter_derivative(
-              FunctionModel::arguments_t(1,arg),
-              3
-          )[0],
-          1.e+6
-      )
-  );
-}
+  {
+    const double result =
+        compound.parameter_derivative(
+            FunctionModel::arguments_t(1,arg),
+            0)[0];
+    CPPUNIT_ASSERT(
+        Helpers::isEqual(
+            1.,
+            result,
+            1.e+6
+        )
+    );
+  }
+  {
+    const double result =
+        compound.parameter_derivative(
+            FunctionModel::arguments_t(1,arg),
+            1)[0];
+    CPPUNIT_ASSERT(
+        Helpers::isEqual(
+            0.,
+            result,
+            1.e+6
+        )
+    );
+  }
+  {
+    const double result =
+        compound.parameter_derivative(
+            FunctionModel::arguments_t(1,arg),
+            2)[0];
+    CPPUNIT_ASSERT(
+        Helpers::isEqual(
+            0.,
+            result,
+            1.e+6
+        )
+    );
+  }
+  {
+    const double result =
+        compound.parameter_derivative(
+            FunctionModel::arguments_t(1,arg),
+            3)[0];
+    CPPUNIT_ASSERT(
+        Helpers::isEqual(
+            0.,
+            result,
+            1.e+6
+        )
+    );
+  }
+}
