TEST(GTestLinkedList, TestIterator) { LinkedList::Ptr l = LinkedList::create(); l->add(123); l->add(456); int v; Iterator::Ptr itr = l->iterator(); ASSERT_TRUE(itr->hasNext()); ASSERT_TRUE(to<int>(itr->next(), &v)); ASSERT_EQ(v, 123); ASSERT_TRUE(itr->hasNext()); ASSERT_TRUE(to<int>(itr->next(), &v)); ASSERT_EQ(v, 456); ASSERT_FALSE(itr->hasNext()); }