TEST(StringSetTest, ClearTheSet) { // Tests that the set in cleared. set.Clear(); EXPECT_EQ(0, set.Count()); EXPECT_NE(3, set.Count()); }
// Takes two string sets and returns the union set. StringSet StringSet::Union(StringSet in_set) { StringSet result; for (int i = 0; i < this->Count(); ++i) result.Add(this->GetString(i)); for (int i = 0; i < in_set.Count(); ++i) if (!result.Contains(in_set.GetString(i))) result.Add(in_set.GetString(i)); return result; }
TEST(StringSetTest, UnionOfTwoStringSets) { // Tests the Unions of two sets, including all strings. StringSet first, second; first.Add("First string."); first.Add("Second string."); first.Add("Third string."); second.Add("First string."); second.Add("Second string."); StringSet third = first.Union(second); EXPECT_TRUE(third.Contains("First string.")); EXPECT_TRUE(third.Contains("Second string.")); EXPECT_TRUE(third.Contains("Third string.")); EXPECT_EQ(3, third.Count()); }
TEST(StringSetTest, IntersectionOfTwoStrings) { // Tests the intersection of two set, including only strings occuring // in both sets. StringSet first, second; first.Add("First string."); first.Add("Second string."); first.Add("Third string."); second.Add("First string."); second.Add("Second string."); StringSet intersection = first.Intersection(second); EXPECT_TRUE(intersection.Contains("First string.")); EXPECT_TRUE(intersection.Contains("Second string.")); EXPECT_FALSE(intersection.Contains("Third string.")); EXPECT_EQ(2, intersection.Count()); }
TEST(StringSetTest, Count3Strings) { // Tests the count function. set.Add("String number 2."); set.Add("String number 3."); EXPECT_EQ(3, set.Count()); }
TEST(StringSetTest, Count1String) { // Tests the count function. EXPECT_EQ(1, set.Count()); }