#include #include "object_test.h" TEST(test_object, derived) { auto test_obj = mirai::make_obj(); auto test_obj2 = mirai::make_obj(); // 检查类型信息 // test_obj应该继承自mirai::object EXPECT_TRUE(test_obj->is()); EXPECT_TRUE(test_obj2->is()); // test_obj应该是test_class1类型,但不是test_class2类型 EXPECT_TRUE(test_obj->is()); EXPECT_FALSE(test_obj->is()); // test_obj2应该是test_class2类型,也是test_class1类型 EXPECT_TRUE(test_obj2->is()); EXPECT_TRUE(test_obj2->is()); // test_obj的类型名称检查 EXPECT_EQ(test_obj->type_name(), "class test_class1"); EXPECT_EQ(test_obj2->type_name(), "class test_class2"); }