[Orxonox-commit 6164] r10822 - in code/branches/cpp11_v2/test/core: . command
landauf at orxonox.net
landauf at orxonox.net
Sun Nov 22 15:04:05 CET 2015
Author: landauf
Date: 2015-11-22 15:04:04 +0100 (Sun, 22 Nov 2015)
New Revision: 10822
Added:
code/branches/cpp11_v2/test/core/command/ExecutorPtrTest.cc
code/branches/cpp11_v2/test/core/command/FunctorPtrTest.cc
Modified:
code/branches/cpp11_v2/test/core/CMakeLists.txt
Log:
added tests for FunctorPtr and ExecutorPtr
Modified: code/branches/cpp11_v2/test/core/CMakeLists.txt
===================================================================
--- code/branches/cpp11_v2/test/core/CMakeLists.txt 2015-11-21 18:05:53 UTC (rev 10821)
+++ code/branches/cpp11_v2/test/core/CMakeLists.txt 2015-11-22 14:04:04 UTC (rev 10822)
@@ -18,6 +18,8 @@
class/SubclassIdentifierTest.cc
class/SuperTest.cc
command/CommandTest.cc
+ command/FunctorPtrTest.cc
+ command/ExecutorPtrTest.cc
object/ClassFactoryTest.cc
object/ContextTest.cc
object/DestroyableTest.cc
Added: code/branches/cpp11_v2/test/core/command/ExecutorPtrTest.cc
===================================================================
--- code/branches/cpp11_v2/test/core/command/ExecutorPtrTest.cc (rev 0)
+++ code/branches/cpp11_v2/test/core/command/ExecutorPtrTest.cc 2015-11-22 14:04:04 UTC (rev 10822)
@@ -0,0 +1,73 @@
+#include <gtest/gtest.h>
+#include "core/command/Executor.h"
+
+namespace orxonox
+{
+ namespace
+ {
+ class Testclass : public Destroyable
+ {
+ public:
+ void testMember() {}
+ static void testStatic() {}
+ };
+
+ // Fixture
+ class ExecutorPtrTest : public ::testing::Test
+ {
+ public:
+ virtual void SetUp()
+ {
+ }
+
+ virtual void TearDown()
+ {
+ }
+ };
+ }
+
+ TEST_F(ExecutorPtrTest, emptyPtr)
+ {
+ ExecutorMemberPtr<Testclass> ptr1;
+ ExecutorStaticPtr ptr2;
+ ExecutorPtr ptr3;
+
+ ASSERT_FALSE(static_cast<bool>(ptr1));
+ ASSERT_FALSE(static_cast<bool>(ptr2));
+ ASSERT_FALSE(static_cast<bool>(ptr3));
+ }
+
+ TEST_F(ExecutorPtrTest, canAssignToExecutorMemberPtr)
+ {
+ ExecutorMemberPtr<Testclass> ptr = createExecutor(createFunctor(&Testclass::testMember));
+ ASSERT_TRUE(static_cast<bool>(ptr));
+ }
+
+ TEST_F(ExecutorPtrTest, canAssignToExecutorStaticPtr)
+ {
+ ExecutorStaticPtr ptr = createExecutor(createFunctor(&Testclass::testStatic));
+ ASSERT_TRUE(static_cast<bool>(ptr));
+ }
+
+ TEST_F(ExecutorPtrTest, canAssignToExecutorPtr)
+ {
+ ExecutorPtr ptr1 = createExecutor(createFunctor(&Testclass::testMember));
+ ASSERT_TRUE(static_cast<bool>(ptr1));
+ ExecutorPtr ptr2 = createExecutor(createFunctor(&Testclass::testStatic));
+ ASSERT_TRUE(static_cast<bool>(ptr2));
+ }
+
+ TEST_F(ExecutorPtrTest, canCastFromExecutorMemberPtr)
+ {
+ ExecutorMemberPtr<Testclass> ptr1 = createExecutor(createFunctor(&Testclass::testMember));
+ ExecutorPtr ptr2 = ptr1;
+ ASSERT_TRUE(static_cast<bool>(ptr2));
+ }
+
+ TEST_F(ExecutorPtrTest, canCastFromExecutorStaticPtr)
+ {
+ ExecutorStaticPtr ptr1 = createExecutor(createFunctor(&Testclass::testStatic));
+ ExecutorPtr ptr2 = ptr1;
+ ASSERT_TRUE(static_cast<bool>(ptr2));
+ }
+}
Property changes on: code/branches/cpp11_v2/test/core/command/ExecutorPtrTest.cc
___________________________________________________________________
Added: svn:eol-style
+ native
Added: code/branches/cpp11_v2/test/core/command/FunctorPtrTest.cc
===================================================================
--- code/branches/cpp11_v2/test/core/command/FunctorPtrTest.cc (rev 0)
+++ code/branches/cpp11_v2/test/core/command/FunctorPtrTest.cc 2015-11-22 14:04:04 UTC (rev 10822)
@@ -0,0 +1,73 @@
+#include <gtest/gtest.h>
+#include "core/command/Functor.h"
+
+namespace orxonox
+{
+ namespace
+ {
+ class Testclass : public Destroyable
+ {
+ public:
+ void testMember() {}
+ static void testStatic() {}
+ };
+
+ // Fixture
+ class FunctorPtrTest : public ::testing::Test
+ {
+ public:
+ virtual void SetUp()
+ {
+ }
+
+ virtual void TearDown()
+ {
+ }
+ };
+ }
+
+ TEST_F(FunctorPtrTest, emptyPtr)
+ {
+ FunctorMemberPtr<Testclass> ptr1;
+ FunctorStaticPtr ptr2;
+ FunctorPtr ptr3;
+
+ ASSERT_FALSE(static_cast<bool>(ptr1));
+ ASSERT_FALSE(static_cast<bool>(ptr2));
+ ASSERT_FALSE(static_cast<bool>(ptr3));
+ }
+
+ TEST_F(FunctorPtrTest, canAssignToFunctorMemberPtr)
+ {
+ FunctorMemberPtr<Testclass> ptr = createFunctor(&Testclass::testMember);
+ ASSERT_TRUE(static_cast<bool>(ptr));
+ }
+
+ TEST_F(FunctorPtrTest, canAssignToFunctorStaticPtr)
+ {
+ FunctorStaticPtr ptr = createFunctor(&Testclass::testStatic);
+ ASSERT_TRUE(static_cast<bool>(ptr));
+ }
+
+ TEST_F(FunctorPtrTest, canAssignToFunctorPtr)
+ {
+ FunctorPtr ptr1 = createFunctor(&Testclass::testMember);
+ ASSERT_TRUE(static_cast<bool>(ptr1));
+ FunctorPtr ptr2 = createFunctor(&Testclass::testStatic);
+ ASSERT_TRUE(static_cast<bool>(ptr2));
+ }
+
+ TEST_F(FunctorPtrTest, canCastFromFunctorMemberPtr)
+ {
+ FunctorMemberPtr<Testclass> ptr1 = createFunctor(&Testclass::testMember);
+ FunctorPtr ptr2 = ptr1;
+ ASSERT_TRUE(static_cast<bool>(ptr2));
+ }
+
+ TEST_F(FunctorPtrTest, canCastFromFunctorStaticPtr)
+ {
+ FunctorStaticPtr ptr1 = createFunctor(&Testclass::testStatic);
+ FunctorPtr ptr2 = ptr1;
+ ASSERT_TRUE(static_cast<bool>(ptr2));
+ }
+}
Property changes on: code/branches/cpp11_v2/test/core/command/FunctorPtrTest.cc
___________________________________________________________________
Added: svn:eol-style
+ native
More information about the Orxonox-commit
mailing list