Exemple #1
0
TEST(TSet, can_use_sum_for_five_elems)
{
	const int size = 10;
	TSet set(size), expSet(size);
	set = set + 1 + 2 + 3 + 4 + 5;
	expSet.InsElem(1);
	expSet.InsElem(2);
	expSet.InsElem(3);
	expSet.InsElem(4);
	expSet.InsElem(5);
	EXPECT_EQ(set, expSet);
}
TEST(TSet, triple_one_string_and)
{
	const int size = 4;
	TSet set1(size), set2(size), set3(size), tmp(size), expSet(size);
	set1.InsElem(2);
	set2.InsElem(2);
	set3.InsElem(2);
	expSet = set1 * set2;
	expSet = expSet * set3;
	tmp = set1*set2*set3;

	EXPECT_EQ(expSet, tmp);
}
Exemple #3
0
TEST(TSet, can_use_sum_for_three_sets)
{
	const int size = 10;
	TSet set0(size), set1(size), set2(size), set3(size), expSet(size);
	set0.InsElem(1);
	set1.InsElem(3);
	set2.InsElem(5);
	set3 = set0 + set1 + set2;
	expSet.InsElem(1);
	expSet.InsElem(3);
	expSet.InsElem(5);
	EXPECT_EQ(expSet, set3);
}
TEST(TSet, check_negation_operator)
{
  const int size = 4;
  TSet set(size), set1(size), expSet(size);
  // set1 = {1, 3}
  set.InsElem(1);
  set.InsElem(3);
  set1 = ~set;
  // expSet = {0, 2}
  expSet.InsElem(0);
  expSet.InsElem(2);

  EXPECT_EQ(expSet, set1);
}
Exemple #5
0
TEST(TSet, can_use_difference_for_five_elems)
{
	const int size = 10;
	TSet set(size), expSet(size);
	for (int i = 0; i < size; i++)
		set.InsElem(i);
	set = set - 1 - 2 - 3 - 4 - 5;
	expSet.InsElem(0);
	expSet.InsElem(6);
	expSet.InsElem(7);
	expSet.InsElem(8);
	expSet.InsElem(9);
	EXPECT_EQ(set, expSet);
}
TEST(TSet, can_intersect_two_sets_of_equal_size)
{
  const int size = 5;
  TSet set1(size), set2(size), set3(size), expSet(size);
  // set1 = {1, 2, 4}
  set1.InsElem(1);
  set1.InsElem(2);
  set1.InsElem(4);
  // set2 = {0, 1, 2}
  set2.InsElem(0);
  set2.InsElem(1);
  set2.InsElem(2);
  set3 = set1 * set2;
  // expSet = {1, 2}
  expSet.InsElem(1);
  expSet.InsElem(2);

  EXPECT_EQ(expSet, set3);
}
Exemple #7
0
TEST(TSet, product_of_sets)
{
	const int size = 10;
	TSet set0(size), set1(size), set2(size), set3(size), expSet(size);
	set0.InsElem(0);
	set0.InsElem(1);
	set0.InsElem(3);
	set0.InsElem(5);
	set1.InsElem(0);
	set1.InsElem(3);
	set1.InsElem(4);
	set1.InsElem(5);
	set2.InsElem(0);
	set2.InsElem(1);
	set2.InsElem(5);
	set2.InsElem(6);
	set2.InsElem(7);
	set3 = set0 * set1 * set2;
	expSet.InsElem(0);
	expSet.InsElem(5);
	EXPECT_EQ(expSet, set3);
}
TEST(TSet, can_combine_two_sets_of_non_equal_size)
{
  const int size1 = 5, size2 = 7;
  TSet set1(size1), set2(size2), set3(size1), expSet(size2);
  // set1 = {1, 2, 4}
  set1.InsElem(1);
  set1.InsElem(2);
  set1.InsElem(4);
  // set2 = {0, 1, 2, 6}
  set2.InsElem(0);
  set2.InsElem(1);
  set2.InsElem(2);
  set2.InsElem(6);
  set3 = set1 + set2;
  // expSet = {0, 1, 2, 4, 6}
  expSet.InsElem(0);
  expSet.InsElem(1);
  expSet.InsElem(2);
  expSet.InsElem(4);
  expSet.InsElem(6);

  EXPECT_EQ(expSet, set3);
}