def test_difference(self): set_one = [0, 1, 2, 3, 4, 5] set_two = [3, 4, 5, 6, 7, 8] hs_one = HashSet(set_one) hs_two = HashSet(set_two) assert hs_one.size() == 6 assert hs_two.size() == 6 assert hs_one.difference(hs_two).size() == 6
def test_intersection(self): set_one = [0, 1, 2, 3, 4, 5] set_two = [3, 4, 5, 6, 7, 8] hs_one = HashSet(set_one) hs_two = HashSet(set_two) assert hs_one.size() == 6 assert hs_two.size() == 6 assert hs_one.intersection(hs_two).size() == 3
def test_size(self): hs = HashSet([5, 2, 6, 1, 3]) assert hs.size() == 5 hs.add(42) assert hs.size() == 6 hs.add(21) assert hs.size() == 7 hs.remove(42) assert hs.size() == 6
def test_add_and_remove(self): elements = [1, 2, 3] hs = HashSet(elements) hs.add(4) hs.add(5) hs.add(6) hs.add(7) assert hs.contains(2) is True assert hs.contains(4) is True assert hs.contains(5) is True assert hs.contains(6) is True assert hs.contains(7) is True assert hs.contains(21) is False hs.remove(7) assert hs.contains(7) is False hs.remove(6) assert hs.contains(6) is False hs.remove(5) assert hs.contains(5) is False hs.remove(4) assert hs.contains(4) is False assert hs.size() == 3