UnionFindUnitTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 12
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 12
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A test_find() 0 11 1
1
import unittest
2
3
from pyalgs.algorithms.commons.union_find import UnionFind, QuickFind, QuickUnion
4
5
6
class UnionFindUnitTest(unittest.TestCase):
7
    def test_find(self):
8
        uf = UnionFind.create(10)
9
10
        uf.union(1, 3)
11
        uf.union(2, 4)
12
        uf.union(1, 5)
13
14
        self.assertTrue(uf.connected(1, 3))
15
        self.assertTrue(uf.connected(3, 5))
16
        self.assertFalse(uf.connected(1, 2))
17
        self.assertFalse(uf.connected(1, 4))
18
19
20
class QuickFindUnitTest(unittest.TestCase):
21
    def test_find(self):
22
        uf = QuickFind(10)
23
24
        uf.union(1, 3)
25
        uf.union(2, 4)
26
        uf.union(1, 5)
27
28
        self.assertTrue(uf.connected(1, 3))
29
        self.assertTrue(uf.connected(3, 5))
30
        self.assertFalse(uf.connected(1, 2))
31
        self.assertFalse(uf.connected(1, 4))
32
33
34
class QuickUnionUnitTest(unittest.TestCase):
35
    def test_find(self):
36
        uf = QuickUnion(10)
37
38
        uf.union(1, 3)
39
        uf.union(2, 4)
40
        uf.union(1, 5)
41
42
        self.assertTrue(uf.connected(1, 3))
43
        self.assertTrue(uf.connected(3, 5))
44
        self.assertFalse(uf.connected(1, 2))
45
        self.assertFalse(uf.connected(1, 4))
46
47
48
if __name__ == '__main__':
49
    unittest.main()
50