210 ASSERT_EQ(StaticCounter::count(), 0);
215 typename Object::Ptr obj(
new Object);
216 obj->vec.emplace_back(
new Ref(
"One", obj));
217 obj->vec.emplace_back(
new Ref(
"Two", obj));
218 obj->vec.emplace_back(
new Ref(
"Three", obj));
221 ASSERT_EQ(obj->vec.size(), 3u);
222 ASSERT_EQ(obj->vec.at(0)->to_string(),
"I am One whose parent is Regular Joe");
223 ASSERT_EQ(obj->vec.at(1)->to_string(),
"I am Two whose parent is Regular Joe");
224 ASSERT_EQ(obj->vec.at(2)->to_string(),
"I am Three whose parent is Regular Joe");
227 typename Ref::Ptr the_one = obj->vec[0];
229 ASSERT_EQ(the_one->to_string(),
"I am One, an orphan");
232 ASSERT_EQ(StaticCounter::count(), 1);
234 ASSERT_EQ(StaticCounter::count(), 0);