| 45 | }; |
| 46 | |
| 47 | TEST(ReferenceCount, Strong) { |
| 48 | bool destructed = false; |
| 49 | Object* object; |
| 50 | ReferenceCount* refcount; |
| 51 | std::tie(object, refcount) = MakeReferenceCount<Subobject>(destructed); |
| 52 | EXPECT_EQ(GetReferenceCountForThat(*object), refcount); |
| 53 | EXPECT_EQ(GetReferenceCountForThat(*static_cast<Subobject*>(object)), |
| 54 | refcount); |
| 55 | StrongRef(refcount); |
| 56 | StrongUnref(refcount); |
| 57 | EXPECT_TRUE(IsUniqueRef(refcount)); |
| 58 | EXPECT_FALSE(IsExpiredRef(refcount)); |
| 59 | EXPECT_FALSE(destructed); |
| 60 | StrongUnref(refcount); |
| 61 | EXPECT_TRUE(destructed); |
| 62 | } |
| 63 | |
| 64 | TEST(ReferenceCount, Weak) { |
| 65 | bool destructed = false; |
nothing calls this directly
no test coverage detected