Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/core6/test/core/object/ContextTest.cc @ 9699

Last change on this file since 9699 was 9659, checked in by landauf, 11 years ago

removed RegisterRootObject (replaced by RegisterObject)

  • Property svn:eol-style set to native
File size: 2.3 KB
RevLine 
[9629]1#include <gtest/gtest.h>
2#include "core/object/Context.h"
3#include "core/class/OrxonoxClass.h"
4#include "core/CoreIncludes.h"
5
6namespace orxonox
7{
8    namespace
9    {
10        class SubclassContext : public OrxonoxClass, public Context
11        {
12            public:
[9659]13                SubclassContext() : Context(NULL) { RegisterObject(SubclassContext); }
[9629]14        };
[9649]15
16        // Fixture
17        class ContextTest : public ::testing::Test
18        {
19            public:
20                virtual void SetUp()
21                {
22                    Context::setRootContext(new Context(NULL));
23                }
24
25                virtual void TearDown()
26                {
27                    Context::setRootContext(NULL);
28                }
29        };
[9629]30    }
31
[9649]32    TEST_F(ContextTest, CanCreateContext)
[9629]33    {
34        Context context(NULL);
35    }
36
[9649]37    TEST_F(ContextTest, CanCreateSubclassContext)
[9629]38    {
39        SubclassContext context;
40    }
41
[9649]42    TEST_F(ContextTest, ContextIsItsOwnContext)
[9629]43    {
44        Context context(NULL);
45        EXPECT_EQ(&context, context.getContext());
46    }
47
[9649]48    TEST_F(ContextTest, SubclassContextIsItsOwnContext)
[9629]49    {
50        SubclassContext context;
51        EXPECT_EQ(&context, context.getContext());
52    }
53
[9649]54    TEST_F(ContextTest, SubclassAddsToItsOwnObjectList)
[9629]55    {
56        SubclassContext context;
57        EXPECT_EQ(&context, context.getContext());
58        EXPECT_EQ(1u, context.getObjectList<SubclassContext>()->size());
59    }
[9650]60
61    TEST_F(ContextTest, ContextIsAddedToItsOwnObjectList)
62    {
63        Context context(NULL);
64        ASSERT_EQ(1u, context.getObjectList<Context>()->size());
65        EXPECT_TRUE(context.getObjectList<Context>()->begin()->objectBase_ == static_cast<Listable*>(&context));
66    }
67
68    TEST_F(ContextTest, ContextIsAddedToObjectListOfBaseContext)
69    {
70        Context baseContext(NULL);
71        Context subContext(&baseContext);
72
73        ASSERT_EQ(1u, subContext.getObjectList<Context>()->size());
74        EXPECT_TRUE(subContext.getObjectList<Context>()->begin()->objectBase_ == static_cast<Listable*>(&subContext));
75
76        ASSERT_EQ(2u, baseContext.getObjectList<Context>()->size());
77        EXPECT_TRUE(baseContext.getObjectList<Context>()->begin()->objectBase_ == static_cast<Listable*>(&baseContext));
78        EXPECT_TRUE(baseContext.getObjectList<Context>()->begin()->next_->objectBase_ == static_cast<Listable*>(&subContext));
79    }
[9629]80}
Note: See TracBrowser for help on using the repository browser.