MaxPQUnitTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 22
Duplicated Lines 100 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A test_min() 21 21 2

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
import unittest
2
3
from pyalgs.data_structures.commons.priority_queue import MinPQ, MaxPQ
4
5
6 View Code Duplication
class MinPQUnitTest(unittest.TestCase):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
7
    def test_min(self):
8
        pq = MinPQ.create()
9
        pq.enqueue(10)
10
        pq.enqueue(5)
11
        pq.enqueue(12)
12
        pq.enqueue(14)
13
        pq.enqueue(2)
14
15
        self.assertFalse(pq.is_empty())
16
        self.assertEqual(5, pq.size())
17
18
        print([i for i in pq.iterate()])
19
20
        self.assertEqual(2, pq.del_min())
21
        self.assertEqual(5, pq.del_min())
22
        self.assertEqual(10, pq.del_min())
23
        self.assertEqual(12, pq.del_min())
24
        self.assertEqual(14, pq.del_min())
25
26
        self.assertTrue(pq.is_empty())
27
        self.assertEqual(0, pq.size())
28
29
30 View Code Duplication
class MaxPQUnitTest(unittest.TestCase):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
31
    def test_min(self):
32
        pq = MaxPQ.create()
33
        pq.enqueue(10)
34
        pq.enqueue(5)
35
        pq.enqueue(12)
36
        pq.enqueue(14)
37
        pq.enqueue(2)
38
39
        self.assertFalse(pq.is_empty())
40
        self.assertEqual(5, pq.size())
41
42
        print([i for i in pq.iterate()])
43
44
        self.assertEqual(14, pq.del_max())
45
        self.assertEqual(12, pq.del_max())
46
        self.assertEqual(10, pq.del_max())
47
        self.assertEqual(5, pq.del_max())
48
        self.assertEqual(2, pq.del_max())
49
50
        self.assertTrue(pq.is_empty())
51
        self.assertEqual(0, pq.size())
52
53
54
if __name__ == '__main__':
55
    unittest.main()
56