Example #1
0
 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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
 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]))
Example #8
0
 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]))
Example #9
0
 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)
Example #10
0
    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)
Example #11
0
    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)
Example #12
0
 def test_get(self):
     self.assertEqual(OneWaySyncSet([self.a1, self.b1]).get(self.a1.get_id()), self.a1)
Example #13
0
 def test_copy(self):
     self.myslave = OneWaySyncSet([self.a1])
     slave_copy = self.myslave.copy()
     self.assertIsInstance(slave_copy, OneWaySyncSet)
Example #14
0
 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]))