From bba67ebac5f05aed001d8e205e0e2220004252d9 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Mon, 28 Nov 2016 19:03:36 +0100 Subject: Fix AstraObjectManager test --- tests/test_AstraObjectManager.cpp | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/test_AstraObjectManager.cpp b/tests/test_AstraObjectManager.cpp index da641ba..39652f1 100644 --- a/tests/test_AstraObjectManager.cpp +++ b/tests/test_AstraObjectManager.cpp @@ -31,19 +31,35 @@ along with the ASTRA Toolbox. If not, see . #include "astra/AstraObjectManager.h" +struct TestT { + TestT(int _x) : x(_x) { } + bool operator==(int _x) const { return x == _x; } + + int x; + bool isInitialized() const { return true; } + std::string description() const { return ""; } +}; + namespace astra { -DEFINE_SINGLETON(CAstraObjectManager); + +class CTestManager : public Singleton, public CAstraObjectManager +{ + virtual std::string getType() const { return "test"; } +}; + +DEFINE_SINGLETON(CTestManager); + } BOOST_AUTO_TEST_CASE( testAstraObjectManager ) { - astra::CAstraObjectManager man; + astra::CTestManager &man = astra::CTestManager::getSingleton(); - int i1 = man.store(new int(1)); + int i1 = man.store(new TestT(1)); BOOST_REQUIRE(man.hasIndex(i1)); BOOST_CHECK(*(man.get(i1)) == 1); - int i2 = man.store(new int(2)); + int i2 = man.store(new TestT(2)); BOOST_REQUIRE(man.hasIndex(i2)); BOOST_CHECK(*(man.get(i1)) == 1); BOOST_CHECK(*(man.get(i2)) == 2); @@ -53,12 +69,12 @@ BOOST_AUTO_TEST_CASE( testAstraObjectManager ) BOOST_CHECK(!man.hasIndex(i1)); BOOST_REQUIRE(man.hasIndex(i2)); - int i3 = man.store(new int(3)); + int i3 = man.store(new TestT(3)); BOOST_REQUIRE(man.hasIndex(i3)); BOOST_CHECK(*(man.get(i2)) == 2); BOOST_CHECK(*(man.get(i3)) == 3); - int* pi4 = new int(4); + TestT* pi4 = new TestT(4); int i4 = man.store(pi4); BOOST_REQUIRE(man.hasIndex(i4)); BOOST_CHECK(*(man.get(i2)) == 2); -- cgit v1.2.3