208 ASSERT_EQ(StaticCounter::count(), 0);
211 typename Object::Ptr obj(
new Object);
212 obj->vec.emplace_back(
new Ref(
"One", obj));
213 obj->vec.emplace_back(
new Ref(
"Two", obj));
214 obj->vec.emplace_back(
new Ref(
"Three", obj));
217 ASSERT_EQ(obj->vec.size(), 3U);
218 ASSERT_EQ(obj->vec.at(0)->to_string(),
"I am One whose parent is Regular Joe");
219 ASSERT_EQ(obj->vec.at(1)->to_string(),
"I am Two whose parent is Regular Joe");
220 ASSERT_EQ(obj->vec.at(2)->to_string(),
"I am Three whose parent is Regular Joe");
223 typename Ref::Ptr the_one = obj->vec[0];
225 ASSERT_EQ(the_one->to_string(),
"I am One, an orphan");
228 ASSERT_EQ(StaticCounter::count(), 1);
230 ASSERT_EQ(StaticCounter::count(), 0);