def test_union(self): a = PredicateSet(lambda x: x in set(range(2))) b = PredicateSet(lambda x: x in set(range(1, 3))) self.assertIn(0, a.union(b)) self.assertIn(1, a.union(b)) self.assertIn(2, a.union(b)) self.assertIn(0, a | b) self.assertIn(1, a | b) self.assertIn(2, a | b)
def test_difference(self): a = PredicateSet(lambda x: x in set(range(2))) b = PredicateSet(lambda x: x in set(range(1, 3))) self.assertIn(0, a.difference(b)) self.assertNotIn(1, a.difference(b)) self.assertNotIn(2, a.difference(b)) self.assertIn(0, a - b) self.assertNotIn(1, a - b) self.assertNotIn(2, a - b)
def test_intersection(self): a = PredicateSet(lambda x: x in set(range(2))) b = PredicateSet(lambda x: x in set(range(1, 3))) self.assertNotIn(0, a.intersection(b)) self.assertIn(1, a.intersection(b)) self.assertNotIn(2, a.intersection(b)) self.assertNotIn(0, a & b) self.assertIn(1, a & b) self.assertNotIn(2, a & b)