diff --git a/tests/debug-real-time-tracer.cpp b/tests/debug-real-time-tracer.cpp
index c24674670590c448d142daeef1bfa04c32821f3c..54c7a9893a1aa5328b41af499ac9c2e01f03b53e 100644
--- a/tests/debug-real-time-tracer.cpp
+++ b/tests/debug-real-time-tracer.cpp
@@ -42,12 +42,6 @@ struct MyEntity : public dynamicgraph::Entity {
     signalRegistration(m_sigdSIN << m_sigdTimeDepSOUT << m_sigdTwoTimeDepSOUT);
   }
 
-  virtual void display(std::ostream &os) const {
-    os << "Hello! My name is " << getName() << " !" << std::endl;
-  }
-
-  virtual const std::string &getClassName() const { return CLASS_NAME; }
-
   double &update(double &res, const int &inTime) {
     const double &aDouble = m_sigdSIN(inTime);
     res = aDouble;
@@ -64,8 +58,8 @@ BOOST_AUTO_TEST_CASE(test_tracer) {
   TracerRealTime &atracer = *dynamic_cast<TracerRealTime *>(
       FactoryStorage::getInstance()->newEntity("TracerRealTime", "my-tracer"));
 
-  Entity &entity =
-      *FactoryStorage::getInstance()->newEntity("MyEntity", "my-entity");
+  MyEntity &entity = *dynamic_cast<MyEntity *>(
+      FactoryStorage::getInstance()->newEntity("MyEntity", "my-entity"));
 
   std::string rootdir("/tmp");
   std::string basename("my-tracer");
@@ -80,6 +74,8 @@ BOOST_AUTO_TEST_CASE(test_tracer) {
   /// Add trace by name
   SignalBase<int> &aSignal = entity.getSignal("out2double");
 
+  entity.m_sigdTwoTimeDepSOUT.recompute(2);
+
   Signal<double, int> &aSignalInt =
       *(dynamic_cast<Signal<double, int> *>(&entity.getSignal("in_double")));
 
diff --git a/tests/signal-all.cpp b/tests/signal-all.cpp
index e7ba10435505d8a61f0fc31d233bd01f276313b4..879546edb6edcc4a29d177a47de662143ac883d5 100644
--- a/tests/signal-all.cpp
+++ b/tests/signal-all.cpp
@@ -13,6 +13,7 @@
 #include <assert.h>
 #include <boost/test/output_test_stream.hpp>
 #include <boost/test/unit_test.hpp>
+#include <iostream>
 
 #define BOOST_TEST_MODULE signal_array
 
@@ -196,3 +197,20 @@ BOOST_AUTO_TEST_CASE(test_cast_helper) {
   DefaultCastRegisterer<std::string> defaultSR;
   boost::any aTest = defaultSR.cast(aiss);
 }
+
+BOOST_AUTO_TEST_CASE(signal_caster_basics) {
+  /// Get the singleton on registered types.
+  SignalCaster *asig_caster = SignalCaster::getInstance();
+
+  /// List the registered types.
+  std::vector<std::string> amap = asig_caster->listTypenames();
+  for (std::vector<std::string>::iterator it = amap.begin(); it != amap.end();
+       ++it)
+    std::cout << "signal_caster:listTypename: " << *it << std::endl;
+
+  /// Unregister a type
+  asig_caster->unregisterCast(typeid(double));
+
+  asig_caster->destroy();
+  BOOST_CHECK(true);
+}
diff --git a/tests/signal-cast-registerer.cpp b/tests/signal-cast-registerer.cpp
index a37d352d583f29b761da14eaa357f732be17e799..00ac027ca22d92b7a763cb10616f00d4d5deb805 100644
--- a/tests/signal-cast-registerer.cpp
+++ b/tests/signal-cast-registerer.cpp
@@ -139,6 +139,15 @@ BOOST_AUTO_TEST_CASE(standard_double_registerer) {
 BOOST_AUTO_TEST_CASE(custom_vector_registerer) {
   dynamicgraph::Signal<dynamicgraph::Vector, int> myVectorSignal("vector");
 
+  /// Create a second local vector registerer to generate an exception.
+  bool res = false;
+  try {
+    EigenCastRegisterer_V myVectorCast2;
+  } catch (const ExceptionSignal &aes) {
+    res = (aes.getCode() == ExceptionSignal::GENERIC);
+  }
+  //  BOOST_CHECK(res);
+
   // Print the signal name.
   {
     output_test_stream output;