Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Oct 31, 2015, 11:50:17 PM (9 years ago)
Author:
landauf
Message:

fixed range based for-loop: ObjectList now returns an iterator
added tests and refactored construction of Iterator/IteratorBase/ObjectListIterator

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/cpp11_v2/test/core/object/ObjectListIteratorTest.cc

    r10624 r10736  
    33
    44#include "core/object/ObjectListIterator.h"
    5 #include "core/object/Listable.h"
     5#include "core/class/OrxonoxClass.h"
     6#include "core/class/OrxonoxInterface.h"
    67#include "core/CoreIncludes.h"
    78#include "core/module/ModuleInstance.h"
     
    1112    namespace
    1213    {
    13         class ListableTest : public Listable
     14        class TestInterface : virtual public OrxonoxInterface
    1415        {
    1516            public:
    16                 ListableTest() { RegisterObject(ListableTest); }
     17            TestInterface() { RegisterObject(TestInterface); }
     18        };
     19
     20        class TestClass : public OrxonoxClass, public TestInterface
     21        {
     22            public:
     23                TestClass() { RegisterObject(TestClass); }
    1724                MOCK_METHOD0(test, void());
    1825        };
    1926
    20         RegisterClassNoArgs(ListableTest);
     27        RegisterClassNoArgs(TestInterface);
     28        RegisterClassNoArgs(TestClass);
    2129
    2230        // Fixture
     
    4250    TEST_F(ObjectListIteratorTest, CanCreateIterator)
    4351    {
    44         ObjectListIterator<ListableTest> it;
     52        ObjectListIterator<TestClass> it;
    4553    }
    4654
    4755    TEST_F(ObjectListIteratorTest, CanAssignIterator)
    4856    {
    49         ObjectListIterator<ListableTest> it = ObjectList<ListableTest>::begin();
     57        ObjectListIterator<TestClass> it = ObjectList<TestClass>::begin();
    5058    }
    5159
     
    5361    {
    5462        size_t i = 0;
    55         for (ObjectListIterator<ListableTest> it = ObjectList<ListableTest>::begin(); it != ObjectList<ListableTest>::end(); ++it)
     63        for (ObjectListIterator<TestClass> it = ObjectList<TestClass>::begin(); it != ObjectList<TestClass>::end(); ++it)
    5664            ++i;
    5765        EXPECT_EQ(0u, i);
     
    6068    TEST_F(ObjectListIteratorTest, CanIterateOverFullList)
    6169    {
    62         ListableTest test1;
    63         ListableTest test2;
    64         ListableTest test3;
     70        TestClass test1;
     71        TestClass test2;
     72        TestClass test3;
     73        TestInterface interface;
    6574
    6675        size_t i = 0;
    67         for (ObjectListIterator<ListableTest> it = ObjectList<ListableTest>::begin(); it != ObjectList<ListableTest>::end(); ++it)
     76        for (ObjectListIterator<TestClass> it = ObjectList<TestClass>::begin(); it != ObjectList<TestClass>::end(); ++it)
    6877        {
    6978            ++i;
     
    7786    TEST_F(ObjectListIteratorTest, CanIterateReverseOverFullList)
    7887    {
    79         ListableTest test1;
    80         ListableTest test2;
    81         ListableTest test3;
     88        TestClass test1;
     89        TestClass test2;
     90        TestClass test3;
     91        TestInterface interface;
    8292
    8393        size_t i = 0;
    84         for (ObjectListIterator<ListableTest> it = ObjectList<ListableTest>::rbegin(); it != ObjectList<ListableTest>::rend(); --it)
     94        for (ObjectListIterator<TestClass> it = ObjectList<TestClass>::rbegin(); it != ObjectList<TestClass>::rend(); --it)
    8595        {
    8696            ++i;
     
    94104    TEST_F(ObjectListIteratorTest, CanCallObjects)
    95105    {
    96         ListableTest test1;
    97         ListableTest test2;
    98         ListableTest test3;
     106        TestClass test1;
     107        TestClass test2;
     108        TestClass test3;
     109        TestInterface interface;
    99110
    100111        EXPECT_CALL(test1, test());
     
    102113        EXPECT_CALL(test3, test());
    103114
    104         for (ObjectListIterator<ListableTest> it = ObjectList<ListableTest>::begin(); it != ObjectList<ListableTest>::end(); ++it)
     115        for (ObjectListIterator<TestClass> it = ObjectList<TestClass>::begin(); it != ObjectList<TestClass>::end(); ++it)
    105116            it->test();
    106117    }
Note: See TracChangeset for help on using the changeset viewer.