X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=unittests%2FADT%2FImmutableSetTest.cpp;h=febd441db166382ac6ff69305ff84b2dec640f0e;hb=32a12b924e2f98d54f3493641b24636245968b47;hp=2282cb8f3639a929642c9c73656843497429f432;hpb=c3651569c1e5a8ef93afef3d4b5ea961a3821784;p=oota-llvm.git diff --git a/unittests/ADT/ImmutableSetTest.cpp b/unittests/ADT/ImmutableSetTest.cpp index 2282cb8f363..febd441db16 100644 --- a/unittests/ADT/ImmutableSetTest.cpp +++ b/unittests/ADT/ImmutableSetTest.cpp @@ -1,4 +1,4 @@ -// llvm/unittest/ADT/ImmutableSetTest.cpp - ImmutableSet unit tests -*- C++ -*-// +//===----------- ImmutableSetTest.cpp - ImmutableSet unit tests ------------===// // // The LLVM Compiler Infrastructure // @@ -14,17 +14,34 @@ using namespace llvm; namespace { class ImmutableSetTest : public testing::Test { +protected: + // for callback tests + static char buffer[10]; + + struct MyIter { + int counter; + char *ptr; + + MyIter() : counter(0), ptr(buffer) { + for (unsigned i=0; i::Factory f; - EXPECT_TRUE(f.GetEmptySet() == f.GetEmptySet()); - EXPECT_FALSE(f.GetEmptySet() != f.GetEmptySet()); - EXPECT_TRUE(f.GetEmptySet().isEmpty()); + EXPECT_TRUE(f.getEmptySet() == f.getEmptySet()); + EXPECT_FALSE(f.getEmptySet() != f.getEmptySet()); + EXPECT_TRUE(f.getEmptySet().isEmpty()); - ImmutableSet S = f.GetEmptySet(); + ImmutableSet S = f.getEmptySet(); EXPECT_EQ(0u, S.getHeight()); EXPECT_TRUE(S.begin() == S.end()); EXPECT_FALSE(S.begin() != S.end()); @@ -33,9 +50,9 @@ TEST_F(ImmutableSetTest, EmptyIntSetTest) { TEST_F(ImmutableSetTest, OneElemIntSetTest) { ImmutableSet::Factory f; - ImmutableSet S = f.GetEmptySet(); + ImmutableSet S = f.getEmptySet(); - ImmutableSet S2 = f.Add(S, 3); + ImmutableSet S2 = f.add(S, 3); EXPECT_TRUE(S.isEmpty()); EXPECT_FALSE(S2.isEmpty()); EXPECT_FALSE(S == S2); @@ -45,7 +62,7 @@ TEST_F(ImmutableSetTest, OneElemIntSetTest) { EXPECT_FALSE(S2.begin() == S2.end()); EXPECT_TRUE(S2.begin() != S2.end()); - ImmutableSet S3 = f.Add(S, 2); + ImmutableSet S3 = f.add(S, 2); EXPECT_TRUE(S.isEmpty()); EXPECT_FALSE(S3.isEmpty()); EXPECT_FALSE(S == S3); @@ -61,11 +78,11 @@ TEST_F(ImmutableSetTest, OneElemIntSetTest) { TEST_F(ImmutableSetTest, MultiElemIntSetTest) { ImmutableSet::Factory f; - ImmutableSet S = f.GetEmptySet(); + ImmutableSet S = f.getEmptySet(); - ImmutableSet S2 = f.Add(f.Add(f.Add(S, 3), 4), 5); - ImmutableSet S3 = f.Add(f.Add(f.Add(S2, 9), 20), 43); - ImmutableSet S4 = f.Add(S2, 9); + ImmutableSet S2 = f.add(f.add(f.add(S, 3), 4), 5); + ImmutableSet S3 = f.add(f.add(f.add(S2, 9), 20), 43); + ImmutableSet S4 = f.add(S2, 9); EXPECT_TRUE(S.isEmpty()); EXPECT_FALSE(S2.isEmpty()); @@ -99,11 +116,11 @@ TEST_F(ImmutableSetTest, MultiElemIntSetTest) { TEST_F(ImmutableSetTest, RemoveIntSetTest) { ImmutableSet::Factory f; - ImmutableSet S = f.GetEmptySet(); + ImmutableSet S = f.getEmptySet(); - ImmutableSet S2 = f.Add(f.Add(S, 4), 5); - ImmutableSet S3 = f.Add(S2, 3); - ImmutableSet S4 = f.Remove(S3, 3); + ImmutableSet S2 = f.add(f.add(S, 4), 5); + ImmutableSet S3 = f.add(S2, 3); + ImmutableSet S4 = f.remove(S3, 3); EXPECT_TRUE(S3.contains(3)); EXPECT_FALSE(S2.contains(3)); @@ -120,89 +137,65 @@ TEST_F(ImmutableSetTest, RemoveIntSetTest) { EXPECT_TRUE(S4.contains(5)); } - -static char *ptr; // tmp var -struct MyIter { - int counter; - MyIter() : counter(0) {} - void operator()(char c) { - *ptr++ = c; - ++counter; - } -}; - TEST_F(ImmutableSetTest, CallbackCharSetTest) { ImmutableSet::Factory f; - ImmutableSet S = f.GetEmptySet(); + ImmutableSet S = f.getEmptySet(); - ImmutableSet S2 = f.Add(f.Add(f.Add(S, 'a'), 'e'), 'i'); - ImmutableSet S3 = f.Add(f.Add(S2, 'o'), 'u'); + ImmutableSet S2 = f.add(f.add(f.add(S, 'a'), 'e'), 'i'); + ImmutableSet S3 = f.add(f.add(S2, 'o'), 'u'); - char buffer[6] = {0}; - ptr = buffer; S3.foreach(); - ASSERT_EQ(buffer[0], 'a'); - ASSERT_EQ(buffer[1], 'e'); - ASSERT_EQ(buffer[2], 'i'); - ASSERT_EQ(buffer[3], 'o'); - ASSERT_EQ(buffer[4], 'u'); - ASSERT_EQ(buffer[5], 0); + ASSERT_STREQ("aeiou", buffer); } TEST_F(ImmutableSetTest, Callback2CharSetTest) { ImmutableSet::Factory f; - ImmutableSet S = f.GetEmptySet(); + ImmutableSet S = f.getEmptySet(); - ImmutableSet S2 = f.Add(f.Add(f.Add(S, 'b'), 'c'), 'd'); - ImmutableSet S3 = f.Add(f.Add(f.Add(S2, 'f'), 'g'), 'h'); + ImmutableSet S2 = f.add(f.add(f.add(S, 'b'), 'c'), 'd'); + ImmutableSet S3 = f.add(f.add(f.add(S2, 'f'), 'g'), 'h'); - char buffer[7] = {0}; - ptr = buffer; MyIter obj; S3.foreach(obj); + ASSERT_STREQ("bcdfgh", buffer); + ASSERT_EQ(6, obj.counter); - ASSERT_EQ(buffer[0], 'b'); - ASSERT_EQ(buffer[1], 'c'); - ASSERT_EQ(buffer[2], 'd'); - ASSERT_EQ(buffer[3], 'f'); - ASSERT_EQ(buffer[4], 'g'); - ASSERT_EQ(buffer[5], 'h'); - ASSERT_EQ(buffer[6], 0); - - ASSERT_EQ(obj.counter, 6); - - S2.foreach(obj); - ASSERT_EQ(obj.counter, 6+3); + MyIter obj2; + S2.foreach(obj2); + ASSERT_STREQ("bcd", buffer); + ASSERT_EQ(3, obj2.counter); + MyIter obj3; S.foreach(obj); - ASSERT_EQ(obj.counter, 6+3+0); + ASSERT_STREQ("", buffer); + ASSERT_EQ(0, obj3.counter); } TEST_F(ImmutableSetTest, IterLongSetTest) { ImmutableSet::Factory f; - ImmutableSet S = f.GetEmptySet(); + ImmutableSet S = f.getEmptySet(); - ImmutableSet S2 = f.Add(f.Add(f.Add(S, 0), 1), 2); - ImmutableSet S3 = f.Add(f.Add(f.Add(S2, 3), 4), 5); + ImmutableSet S2 = f.add(f.add(f.add(S, 0), 1), 2); + ImmutableSet S3 = f.add(f.add(f.add(S2, 3), 4), 5); int i = 0; for (ImmutableSet::iterator I = S.begin(), E = S.end(); I != E; ++I) { - ASSERT_EQ(*I, i++); + ASSERT_EQ(i++, *I); } - ASSERT_EQ(i, 0); + ASSERT_EQ(0, i); i = 0; for (ImmutableSet::iterator I = S2.begin(), E = S2.end(); I != E; ++I) { - ASSERT_EQ(*I, i++); + ASSERT_EQ(i++, *I); } - ASSERT_EQ(i, 3); + ASSERT_EQ(3, i); i = 0; for (ImmutableSet::iterator I = S3.begin(), E = S3.end(); I != E; I++) { - ASSERT_EQ(*I, i++); + ASSERT_EQ(i++, *I); } - ASSERT_EQ(i, 6); + ASSERT_EQ(6, i); } }