70TEST(InteropObjectTest, CanCreate) {
71 auto object = Create<TestObject>(1, 1.3,
'c');
72 ASSERT_EQ(object->GetArg1(), 1);
73 ASSERT_EQ(object->GetArg2(), 1.3);
74 ASSERT_EQ(object->GetArg3(),
'c');
77TEST(InteropObjectTest, CanCopyAssignMove) {
78 auto o = Create<TestObject>(1, 2.3,
'd');
79 ASSERT_EQ(o->GetRefCountForTests(), 1u);
82 ASSERT_EQ(o->GetRefCountForTests(), 2u);
84 ASSERT_EQ(o->GetRefCountForTests(), 3u);
86 ASSERT_EQ(o->GetRefCountForTests(), 4u);
88 ASSERT_EQ(o->GetRefCountForTests(), 1u);
92 ASSERT_EQ(o->GetRefCountForTests(), 2u);
93 ASSERT_EQ(o1->GetRefCountForTests(), 2u);
96 auto move_o = std::move(o);
97 ASSERT_EQ(move_o->GetRefCountForTests(), 1u);