From f9c7bac770a4d263bd330104591079f6898b5c20 Mon Sep 17 00:00:00 2001 From: Olivier Stasse <ostasse@laas.fr> Date: Tue, 14 Jan 2020 13:45:23 +0100 Subject: [PATCH] [tests] Add test for direct-getter and direct-setter. --- tests/entity.cpp | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/tests/entity.cpp b/tests/entity.cpp index 09592f1..e29283c 100644 --- a/tests/entity.cpp +++ b/tests/entity.cpp @@ -7,6 +7,8 @@ #include "dynamic-graph/factory.h" #include "dynamic-graph/pool.h" +#include <dynamic-graph/command-direct-getter.h> +#include <dynamic-graph/command-direct-setter.h> #include <dynamic-graph/entity.h> #include <dynamic-graph/exception-factory.h> #include <dynamic-graph/real-time-logger.h> @@ -50,21 +52,44 @@ public: res = aDouble; return res; } + +public: + double m_value; }; DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(CustomEntity, "CustomEntity"); } // namespace dynamicgraph BOOST_AUTO_TEST_CASE(constructor) { - BOOST_CHECK_EQUAL(dynamicgraph::CustomEntity::CLASS_NAME, "CustomEntity"); + namespace dg = dynamicgraph; + namespace dgc = dynamicgraph::command; - dynamicgraph::Entity &entity = - *dynamicgraph::FactoryStorage::getInstance()->newEntity("CustomEntity", - "my-entity"); + BOOST_CHECK_EQUAL(dg::CustomEntity::CLASS_NAME, "CustomEntity"); + + dg::Entity &entity = *dg::FactoryStorage::getInstance()->newEntity( + "CustomEntity", "my-entity"); BOOST_CHECK_EQUAL(entity.getName(), "my-entity"); - BOOST_CHECK_EQUAL(entity.getClassName(), - dynamicgraph::CustomEntity::CLASS_NAME); + BOOST_CHECK_EQUAL(entity.getClassName(), dg::CustomEntity::CLASS_NAME); + + dg::CustomEntity entity2(""); - dynamicgraph::CustomEntity entity2(""); + // Test Commands + dgc::DirectGetter<dg::CustomEntity, double> a_direct_getter( + entity2, &entity2.m_value, + dgc::docDirectGetter("Get value m_value", "double")); + + dgc::DirectSetter<dg::CustomEntity, double> a_direct_setter( + entity2, &entity2.m_value, + dgc::docDirectSetter("Set value m_value", "double")); + + dgc::Value aValue(2.0); + std::vector<dgc::Value> values; + values.push_back(aValue); + a_direct_setter.setParameterValues(values); + a_direct_setter.execute(); + a_direct_getter.execute(); + + output_test_stream output; + output << entity2.m_value; } BOOST_AUTO_TEST_CASE(signal) { -- GitLab