From 1f5e70b2fd1f017a748cc81a4de3564de6c24299 Mon Sep 17 00:00:00 2001 From: Francois Bleibel <fbleibel@gmail.com> Date: Wed, 16 Jun 2010 18:33:24 +0900 Subject: [PATCH] Cast: Unit testing Added unit test of the signal casting facility. Not exporting the SignalCastRegister class anymore (inlined in the .h). --- include/dynamic-graph/signal-caster.h | 9 +++++++-- src/signal/signal-caster.cpp | 6 ------ unitTesting/CMakeLists.txt | 3 ++- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/dynamic-graph/signal-caster.h b/include/dynamic-graph/signal-caster.h index 2c2f6990..9d7037e7 100644 --- a/include/dynamic-graph/signal-caster.h +++ b/include/dynamic-graph/signal-caster.h @@ -65,12 +65,17 @@ private: extern SignalCaster g_caster; /* - * The SignalCast registerer class. Can be used to automatically register a cast when instanced. + * The SignalCast registerer class. Can be used to automatically register a cast when + * instanced somewhere in a cpp file. Pass the typeid() of the type you want to + * register a cast to as the first argument. + * The code is provided here so the class does not need to be exported. */ class SignalCastRegisterer { public: SignalCastRegisterer(const std::type_info& type, SignalCaster::displayer_type displayer, - SignalCaster::caster_type caster, SignalCaster::tracer_type tracer); + SignalCaster::caster_type caster, SignalCaster::tracer_type tracer) { + g_caster.registerCast(type, displayer, caster, tracer); + } }; /*! diff --git a/src/signal/signal-caster.cpp b/src/signal/signal-caster.cpp index 0ad45ffd..016f40bd 100644 --- a/src/signal/signal-caster.cpp +++ b/src/signal/signal-caster.cpp @@ -73,12 +73,6 @@ any SignalCaster::cast(const type_info& type, istringstream& iss) { /// The global instance of the caster class. DYNAMICGRAPH_EXPORT SignalCaster g_caster; -SignalCastRegisterer::SignalCastRegisterer(const std::type_info& type, SignalCaster::displayer_type displayer, - SignalCaster::caster_type caster, SignalCaster::tracer_type tracer) -{ - g_caster.registerCast(type, displayer, caster, tracer); -} - /// Default casts, such as casts already supported by std::iostream template<typename T> class DefaultCastRegisterer : public SignalCastRegisterer { public: diff --git a/unitTesting/CMakeLists.txt b/unitTesting/CMakeLists.txt index 58ec67bf..b59119d6 100644 --- a/unitTesting/CMakeLists.txt +++ b/unitTesting/CMakeLists.txt @@ -7,7 +7,8 @@ SET(tests test_shell test_pool test_depend - test_factory) + test_factory + test_signalcast) FOREACH(test_name ${tests}) SET(EXECUTABLE_NAME ${test_name}) -- GitLab