| 64 | } |
| 65 | |
| 66 | TEST(Reflection, CallOverloadedInitMethod) { |
| 67 | Function init_method = reflection::GetMethod("test.TestOverloadObj", "__ffi_init__"); |
| 68 | Any obj_a = init_method(10); // choose the int constructor |
| 69 | EXPECT_TRUE(obj_a.as<TestOverloadObj>() != nullptr); |
| 70 | EXPECT_EQ(obj_a.as<TestOverloadObj>()->type, TestOverloadObj::Type::INT); |
| 71 | Any obj_b = init_method(3.14f); // choose the float constructor |
| 72 | EXPECT_TRUE(obj_b.as<TestOverloadObj>() != nullptr); |
| 73 | EXPECT_EQ(obj_b.as<TestOverloadObj>()->type, TestOverloadObj::Type::FLOAT); |
| 74 | } |
| 75 | |
| 76 | TEST(Reflection, CallOverloadedMethod) { |
| 77 | Function init_method = reflection::GetMethod("test.TestOverloadObj", "__ffi_init__"); |