Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

BaseObject now requires a Context instead of a creator (BaseObject*) in its constructor.
Namespace, Level, and Scene inherit from Context

  • Property svn:eol-style set to native
File size: 1.0 KB
Line 
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:
13                SubclassContext() : Context(NULL) { RegisterRootObject(SubclassContext); }
14        };
15    }
16
17    TEST(ContextTest, CanCreateContext)
18    {
19        Context context(NULL);
20    }
21
22    TEST(ContextTest, CanCreateSubclassContext)
23    {
24        SubclassContext context;
25    }
26
27    TEST(ContextTest, ContextIsItsOwnContext)
28    {
29        Context context(NULL);
30        EXPECT_EQ(&context, context.getContext());
31    }
32
33    TEST(ContextTest, SubclassContextIsItsOwnContext)
34    {
35        SubclassContext context;
36        EXPECT_EQ(&context, context.getContext());
37    }
38
39    TEST(ContextTest, SubclassAddsToItsOwnObjectList)
40    {
41        SubclassContext context;
42        EXPECT_EQ(&context, context.getContext());
43        EXPECT_EQ(1u, context.getObjectList<SubclassContext>()->size());
44    }
45}
Note: See TracBrowser for help on using the repository browser.