// Copyright 2011 Google Inc. All Rights Reserved. #include "common_test.h" #include "reference_table.h" namespace art { class ReferenceTableTest : public CommonTest { }; TEST_F(ReferenceTableTest, Basics) { Object* o1 = String::AllocFromModifiedUtf8("hello"); Object* o2 = ShortArray::Alloc(0); // TODO: rewrite Dump to take a std::ostream& so we can test it better. ReferenceTable rt("test", 0, 4); rt.Dump(); EXPECT_EQ(0U, rt.Size()); rt.Remove(NULL); EXPECT_EQ(0U, rt.Size()); rt.Remove(o1); EXPECT_EQ(0U, rt.Size()); rt.Add(o1); EXPECT_EQ(1U, rt.Size()); rt.Add(o2); EXPECT_EQ(2U, rt.Size()); rt.Dump(); rt.Remove(o1); EXPECT_EQ(1U, rt.Size()); rt.Remove(o2); EXPECT_EQ(0U, rt.Size()); } } // namespace art