From 9c3744cd8414a67458db249f1775dff392f97110 Mon Sep 17 00:00:00 2001 From: Francois Bleibel <fbleibel@gmail.com> Date: Mon, 21 Jun 2010 16:07:04 +0900 Subject: [PATCH] Added forgotten file test_signal.cpp --- unitTesting/signal/test_signal.cpp | 83 ++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 unitTesting/signal/test_signal.cpp diff --git a/unitTesting/signal/test_signal.cpp b/unitTesting/signal/test_signal.cpp new file mode 100644 index 00000000..420214e3 --- /dev/null +++ b/unitTesting/signal/test_signal.cpp @@ -0,0 +1,83 @@ +/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + * Copyright Projet VISTA / IRISA, 2003 + *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + * + * File: test_categorie.cc + * Project: Traces + * Author: Nicolas Mansard + * + * Version control + * =============== + * + * $Id: test_boost.cpp,v 1.1.1.1 2006-07-03 05:17:37 nmansard Exp $ + * + * Description + * ============ + * + * Test la classe CategorieTrace. + * + * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ + +/* -------------------------------------------------------------------------- */ +/* --- INCLUDES ------------------------------------------------------------- */ +/* -------------------------------------------------------------------------- */ +#include <dynamic-graph/all-signals.h> +#include <iostream> +#include <MatrixAbstractLayer/boost.h> +using namespace std; + +namespace ml = maal::boost; + +class DummyClass +{ + +public: + ml::Vector& fun( ml::Vector& res,double j ) + { res.resize(3); res.fill(j); return res; } + + +}; + +ml::Vector data(6); +Signal<ml::Vector,double> sig("sigtest"); +DummyClass dummy; + +ml::Vector& fun( ml::Vector& res,double j ) { return res=data; } + +int main( void ) +{ + data.fill(1); + cout << "data: " << data <<endl; + + sig.setConstant( data ); + cout << "Constant: " << sig.access(1.) <<endl; + data*=2; + cout << "Constant: " << sig(1.) <<endl; + + sig.setReference( &data ); + cout << "Reference: " << sig(1.) <<endl; + data*=2; + cout << "Reference: " << sig(1.) <<endl; + + sig.setFunction( &fun ); + cout << "Function: " << sig(1.) <<endl; + data*=2; + cout << "Function: " << sig(1.) <<endl; + + + //boost::function2<int,int,double> onClick = (&DummyClass::fun, &dummy, _1,_2) ; + //boost::function<> onClick = boost::bind(&DummyClass::fun, &dummy); + sig.setFunction( boost::bind(&DummyClass::fun, &dummy, _1,_2) ); + cout << "Function: " << sig(1.5) <<endl; + data*=2; + cout << "Function: " << sig(1.34) <<endl; + + +// sig.setFunction(&DummyClass::fun, dummy); +// cout << "Function: " << sig(1.5) <<endl; +// data*=2; +// cout << "Function: " << sig(12.34) <<endl; + + + return 0; +} -- GitLab