Beispiel #1
0
 def test_nonzero(self):
     """
     Test disjoint set bool evaluation
     """
     self.assertFalse(djset())
     self.assertTrue(djset([1, 2, 3]))
     self.assertTrue(djset([1, 2, 3], [4, 5, 6]))
     self.assertTrue(djset([1, 2, 3], [4, 5, 6], [5, 6]))
Beispiel #2
0
 def test_length(self):
     """
     Test disjoint set length
     """
     self.assertEquals(0, len(djset()))
     self.assertEquals(3, len(djset([1, 2, 3])))
     self.assertEquals(6, len(djset([1, 2, 3], [4, 5, 6])))
     self.assertEquals(6, len(djset([1, 2, 3], [4, 5, 6], [5, 6])))
Beispiel #3
0
 def test_single(self):
     """
     Test adding items to disjoint set
     """
     s = djset()
     s.add([1, 2, 3])
     self.assertEquals({1, 2, 3}, s.data[1])
Beispiel #4
0
 def test_heads(self):
     """
     Test disjoint set heads
     """
     s = djset()
     s.add([1, 2, 3])
     s.add([4, 5, 6])
     self.assertTrue([1, 4], list(s.heads()))
Beispiel #5
0
 def test_contains(self):
     """
     Test disjoint set contains operator
     """
     s = djset()
     s.add([1, 2, 3])
     s.add([4, 5, 6])
     self.assertTrue(2 in s)
     self.assertTrue(5 in s)
Beispiel #6
0
 def test_exclusive(self):
     """
     Test adding mutually exclusive items to disjoint set.
     """
     s = djset()
     s.add([1, 2, 3])
     s.add([4, 5, 6])
     self.assertEquals({1, 2, 3}, s.data[1])
     self.assertEquals({4, 5, 6}, s.data[4])
Beispiel #7
0
 def test_join(self):
     """
     Test joining partitions in disjoint set
     """
     s = djset()
     s.add([1, 2, 3])
     s.add([4, 5, 6])
     s.add([2, 5])
     self.assertEquals({1, 2, 3, 4, 5, 6}, s.data[1])
     self.assertFalse(2 in s.data)