[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