def test_symmetric_difference(self): self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave.symmetric_difference(self.mymaster) self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.a1, data) self.assertIn(self.c1, data) self.assertNotIn(self.b1, data)
def test_difference_update(self): self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c3]) self.myslave.__isub__(self.mymaster) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertNotIn(self.b1, self.myslave) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c3]) self.myslave -= self.mymaster self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertNotIn(self.b1, self.myslave) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c3]) self.myslave.difference_update(self.mymaster) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertNotIn(self.b1, self.myslave) self.myslave = OneWaySyncSet([self.a1, self.b1, self.c1]) set1 = OneWaySyncSet([self.b1]) set2 = OneWaySyncSet([self.c1]) self.myslave.difference_update(set1, set2) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertNotIn(self.b1, self.myslave) self.assertNotIn(self.c1, self.myslave)
def test_intersection_update(self): self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c3]) self.myslave.__iand__(self.mymaster) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.b1, self.myslave) self.assertNotIn(self.a1, self.myslave) self.assertNotIn(self.c3, self.myslave) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c3]) self.myslave &= self.mymaster self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.b1, self.myslave) self.assertNotIn(self.a1, self.myslave) self.assertNotIn(self.c3, self.myslave) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c3]) self.myslave.intersection_update(self.mymaster) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.b1, self.myslave) self.assertNotIn(self.a1, self.myslave) self.assertNotIn(self.c3, self.myslave) self.myslave = OneWaySyncSet([self.a1, self.b1]) set1 = OneWaySyncSet([self.a1, self.b2]) set2 = OneWaySyncSet([self.a1, self.c1]) self.myslave.intersection_update(set1, set2) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertNotIn(self.b1, self.myslave) self.assertNotIn(self.c1, self.myslave)
def test_update(self): self.myslave = OneWaySyncSet([self.a1]) self.mymaster = OneWaySyncSet([self.b1]) self.myslave.__ior__(self.mymaster) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertIn(self.b1, self.myslave) self.myslave = OneWaySyncSet([self.a1]) self.mymaster = OneWaySyncSet([self.b1]) self.myslave |= self.mymaster self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertIn(self.b1, self.myslave) self.myslave = OneWaySyncSet([self.a1]) self.mymaster = OneWaySyncSet([self.b1]) self.myslave.update(self.mymaster) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertIn(self.b1, self.myslave) self.myslave = OneWaySyncSet([self.a1]) set1 = OneWaySyncSet([self.b1]) set2 = OneWaySyncSet([self.c1]) self.myslave.update(set1, set2) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertIn(self.b1, self.myslave) self.assertIn(self.c1, self.myslave)
def test_intersection(self): self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave.__and__(self.mymaster) self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.b1, data) self.assertNotIn(self.a1, data) self.assertNotIn(self.c1, data) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave & self.mymaster self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.b1, data) self.assertNotIn(self.a1, data) self.assertNotIn(self.c1, data) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave.intersection(self.mymaster) self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.b1, data) self.assertNotIn(self.a1, data) self.assertNotIn(self.c1, data) self.myslave = OneWaySyncSet([self.a1, self.b1]) set1 = OneWaySyncSet([self.a1, self.b2]) set2 = OneWaySyncSet([self.a2, self.c1]) data = self.myslave.intersection(set1, set2) self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.a2, data) self.assertNotIn(self.a1, data) self.assertNotIn(self.b1, data) self.assertNotIn(self.c1, data)
def test_union(self): self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave.__or__(self.mymaster) self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.a1, data) self.assertIn(self.b1, data) self.assertIn(self.c1, data) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave | self.mymaster self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.a1, data) self.assertIn(self.b1, data) self.assertIn(self.c1, data) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave.union(self.mymaster) self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.a1, data) self.assertIn(self.b1, data) self.assertIn(self.c1, data) self.myslave = OneWaySyncSet([self.a1, self.b2]) set1 = OneWaySyncSet([self.b1, self.c2]) set2 = OneWaySyncSet([self.c1]) data = self.myslave.union(set1, set2) self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.a1, data) self.assertIn(self.b1, data) self.assertIn(self.c1, data)
def test_equal(self): self.assertEqual( TwoWaySyncSet([self.a1, self.b1])[self.a1.get_id()], TwoWaySyncSet([self.a1, self.b1])[self.a1.get_id()] ) self.assertEqual( TwoWaySyncSet([self.a1, self.b1])[self.a1.get_id()], TwoWaySyncSet([self.b1, self.a1])[self.a1.get_id()] ) self.assertEqual(TwoWaySyncSet([self.b1, self.a1]), TwoWaySyncSet([self.a1, self.b1])) self.assertNotEqual(OneWaySyncSet([self.a1]), OneWaySyncSet([self.a1, self.b1])) self.assertNotEqual(OneWaySyncSet([self.a1, self.b1]), OneWaySyncSet([self.a1, self.c1]))
def test_oneway_diff_2(self): for m in (self.a2, self.b1): self.myslave.add(m) for m in (self.c3, self.b2): self.mymaster.add(m) only_in_self, only_in_master, outdated_in_self, updated_in_master = self.myslave.diff(self.mymaster) for coll in (only_in_self, only_in_master, outdated_in_self, updated_in_master): self.assertIsInstance(coll, OneWaySyncSet) self.assertEqual(only_in_self, OneWaySyncSet([self.a2])) self.assertEqual(only_in_master, OneWaySyncSet([self.c3])) self.assertEqual(outdated_in_self, OneWaySyncSet([self.b1])) self.assertEqual(updated_in_master, OneWaySyncSet([self.b2]))
def setUp(self): self.myslave = OneWaySyncSet() self.mymaster = OneWaySyncSet() self.a1 = TestMember('a', 1) self.a2 = TestMember('a', 2) self.a3 = TestMember('a', 3) self.b1 = TestMember('b', 1) self.b2 = TestMember('b', 2) self.b3 = TestMember('b', 3) self.c1 = TestMember('c', 1) self.c2 = TestMember('c', 2) self.c3 = TestMember('c', 3)
def test_symmetric_difference_update(self): self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c3]) self.myslave.__ixor__(self.mymaster) self.assertIsInstance(self.myslave, BaseSyncSet) self.assertIn(self.a1, self.myslave) self.assertIn(self.c3, self.myslave) self.assertNotIn(self.b1, self.myslave) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c3]) self.myslave ^= self.mymaster self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertIn(self.c3, self.myslave) self.assertNotIn(self.b1, self.myslave) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c3]) self.myslave.symmetric_difference_update(self.mymaster) self.assertIsInstance(self.myslave, OneWaySyncSet) self.assertIn(self.a1, self.myslave) self.assertIn(self.c3, self.myslave) self.assertNotIn(self.b1, self.myslave)
def test_difference(self): self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave.__sub__(self.mymaster) self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.a1, data) self.assertNotIn(self.b1, data) self.assertNotIn(self.c1, data) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave - self.mymaster self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.a1, data) self.assertNotIn(self.b1, data) self.assertNotIn(self.c1, data) self.myslave = OneWaySyncSet([self.a1, self.b1]) self.mymaster = OneWaySyncSet([self.b1, self.c1]) data = self.myslave.difference(self.mymaster) self.assertIsInstance(data, OneWaySyncSet) self.assertIn(self.a1, data) self.assertNotIn(self.b1, data) self.assertNotIn(self.c1, data)
def test_get(self): self.assertEqual(OneWaySyncSet([self.a1, self.b1]).get(self.a1.get_id()), self.a1)
def test_copy(self): self.myslave = OneWaySyncSet([self.a1]) slave_copy = self.myslave.copy() self.assertIsInstance(slave_copy, OneWaySyncSet)
def test_constructor(self): self.assertEqual(self.myslave, self.mymaster) self.assertEqual(self.myslave.item_dict, self.mymaster.item_dict) self.myslave = OneWaySyncSet([self.a1, self.b1, self.c1]) self.mymaster = OneWaySyncSet([self.a1, self.b1, self.c1]) self.assertEqual(self.myslave, self.mymaster) self.assertEqual(self.myslave.item_dict, self.mymaster.item_dict) self.mymaster = OneWaySyncSet([self.c1, self.a1, self.b1]) self.assertEqual(self.myslave, self.mymaster) self.assertEqual(self.myslave.item_dict, self.mymaster.item_dict) self.assertEqual(OneWaySyncSet([self.a2, self.a1]), OneWaySyncSet([self.a3, self.a1])) self.assertNotEqual(OneWaySyncSet([self.a2, self.a1]), OneWaySyncSet([self.a1, self.a2])) self.assertFalse(OneWaySyncSet([self.a2, self.a1]) == OneWaySyncSet([self.a1, self.a2])) self.assertNotEqual(OneWaySyncSet([self.a1, self.b1]), OneWaySyncSet([self.a1, self.b2])) self.assertFalse(OneWaySyncSet([self.a1, self.b1]) == OneWaySyncSet([self.a1, self.b2]))