// 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, AddString) {
  // Tests the addition of a simple string.
  set.Add(str);
  EXPECT_EQ(str, set.GetString(1));
}
TEST(StringSetTest, AddEmptyString) {
  // Tests the addition of the empty string.
  set.Add(empty);
  EXPECT_EQ(empty, set.GetString(0));
}