diff options
Diffstat (limited to 'test/core/managed/ManagedTest.cpp')
-rw-r--r-- | test/core/managed/ManagedTest.cpp | 36 |
1 files changed, 8 insertions, 28 deletions
diff --git a/test/core/managed/ManagedTest.cpp b/test/core/managed/ManagedTest.cpp index f196770..c88cf7a 100644 --- a/test/core/managed/ManagedTest.cpp +++ b/test/core/managed/ManagedTest.cpp @@ -75,33 +75,10 @@ class TypeTestManaged5 : public Managed { using Managed::Managed; }; -ManagedType Type1("Type1", typeid(TypeTestManaged1)); -ManagedType Type2("Type2", typeid(TypeTestManaged2)); -ManagedType Type3("Type3", typeid(TypeTestManaged3), {&Type1}); -ManagedType Type4("Type2", typeid(TypeTestManaged4), {&Type3, &Type2}); - -TEST(ManagedType, isa) -{ - ASSERT_TRUE(Type1.isa(Type1)); - ASSERT_FALSE(Type1.isa(Type2)); - ASSERT_FALSE(Type1.isa(Type3)); - ASSERT_FALSE(Type1.isa(Type4)); - - ASSERT_FALSE(Type2.isa(Type1)); - ASSERT_TRUE(Type2.isa(Type2)); - ASSERT_FALSE(Type2.isa(Type3)); - ASSERT_FALSE(Type2.isa(Type4)); - - ASSERT_TRUE(Type3.isa(Type1)); - ASSERT_FALSE(Type3.isa(Type2)); - ASSERT_TRUE(Type3.isa(Type3)); - ASSERT_FALSE(Type3.isa(Type4)); - - ASSERT_TRUE(Type4.isa(Type1)); - ASSERT_TRUE(Type4.isa(Type2)); - ASSERT_TRUE(Type4.isa(Type3)); - ASSERT_TRUE(Type4.isa(Type4)); -} +static const Rtti<TypeTestManaged1> Type1("Type1"); +static const Rtti<TypeTestManaged2> Type2("Type2"); +static const Rtti<TypeTestManaged3> Type3("Type3", {&Type1}); +static const Rtti<TypeTestManaged4> Type4("Type4", {&Type3, &Type2}); TEST(Managed, type) { @@ -117,7 +94,10 @@ TEST(Managed, type) ASSERT_EQ(&Type2, &m2->type()); ASSERT_EQ(&Type3, &m3->type()); ASSERT_EQ(&Type4, &m4->type()); - ASSERT_EQ(&ManagedType::None, &m5->type()); + ASSERT_EQ(&RttiBase::None, &m5->type()); + + ASSERT_EQ(&Type1, &typeOf<TypeTestManaged1>()); + ASSERT_EQ(&Type1, &typeOf(*m1)); } } |