Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Oct 4, 2015, 9:12:21 PM (9 years ago)
Author:
landauf
Message:

merged branch core7 back to trunk

Location:
code/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/test/core/class/IdentifierExternalClassHierarchyTest.cc

    r9659 r10624  
    22#include "core/CoreIncludes.h"
    33#include "core/class/Identifiable.h"
     4#include "core/module/ModuleInstance.h"
    45
    56namespace orxonox
     
    3839        };
    3940
     41        RegisterAbstractClass(Interface).inheritsFrom<Identifiable>();
     42        RegisterClassNoArgs(BaseClass);
     43        RegisterClassNoArgs(RealClass);
     44
    4045        // Fixture
    4146        class IdentifierExternalClassHierarchyTest : public ::testing::Test
     
    4449                virtual void SetUp()
    4550                {
    46                     registerClass("Context", new ClassFactoryWithContext<Context>());
    47                     registerClass("Listable", new ClassFactoryWithContext<Listable>());
    48                     registerClass("Interface", static_cast<ClassFactory<Interface>*>(NULL), false).inheritsFrom(Class(Identifiable));
    49                     registerClass("BaseClass", new ClassFactoryNoArgs<BaseClass>());
    50                     registerClass("RealClass", new ClassFactoryNoArgs<RealClass>());
    51 
     51                    new IdentifierManager();
     52                    ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
     53                    Context::setRootContext(new Context(NULL));
     54                    Identifier::initConfigValues_s = false; // TODO: hack!
    5255                    IdentifierManager::getInstance().createClassHierarchy();
    5356                }
     
    5558                virtual void TearDown()
    5659                {
    57                     IdentifierManager::getInstance().destroyAllIdentifiers();
     60                    IdentifierManager::getInstance().destroyClassHierarchy();
     61                    Context::destroyRootContext();
     62                    ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
     63                    delete &IdentifierManager::getInstance();
    5864                }
    5965        };
     66
     67        bool contains(const std::list<const Identifier*> identifiers, Identifier* identifier)
     68        {
     69            return std::find(identifiers.begin(), identifiers.end(), identifier) != identifiers.end();
     70        }
    6071
    6172        bool contains(const std::set<const Identifier*> identifiers, Identifier* identifier)
    6273        {
    6374            return identifiers.find(identifier) != identifiers.end();
    64         }
    65     }
    66 
    67     TEST(IdentifierExternalClassHierarchyTest_NoFixture, NoInitialization)
    68     {
    69         {
    70             Identifier* identifier = Class(Interface);
    71             EXPECT_EQ(0u, identifier->getChildren().size());
    72             EXPECT_EQ(0u, identifier->getParents().size());
    73         }
    74         {
    75             Identifier* identifier = Class(BaseClass);
    76             EXPECT_EQ(0u, identifier->getChildren().size());
    77             EXPECT_EQ(0u, identifier->getParents().size());
    78         }
    79         {
    80             Identifier* identifier = Class(RealClass);
    81             EXPECT_EQ(0u, identifier->getChildren().size());
    82             EXPECT_EQ(0u, identifier->getParents().size());
    8375        }
    8476    }
Note: See TracChangeset for help on using the changeset viewer.