Passed
Push — master ( cc5b0d...7501fb )
by Xianshun
01:21
created

RWaySearchTriesUnitTest   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
B test_put() 0 48 5
1
import unittest
2
3
from pyalgs.data_structures.strings.search_tries import RWaySearchTries
4
5
6
class RWaySearchTriesUnitTest(unittest.TestCase):
7
    def test_put(self):
8
        st = RWaySearchTries()
9
10
        st.put("one", 1)
11
        st.put("two", 2)
12
        st.put("three", 3)
13
        st.put("six", 6)
14
        st.put("ten", 10)
15
        st.put("ten", 10)
16
17
        self.assertEqual(1, st.get("one"))
18
        self.assertEqual(2, st.get("two"))
19
        self.assertEqual(3, st.get("three"))
20
21
        self.assertTrue(st.contains_key("one"))
22
        self.assertTrue(st.contains_key("two"))
23
24
        self.assertEqual(5, st.size())
25
        self.assertFalse(st.is_empty())
26
27
        st.delete("one")
28
        self.assertFalse(st.contains_key("one"))
29
        self.assertEqual(4, st.size())
30
31
        st.delete("ten")
32
        self.assertFalse(st.contains_key("ten"))
33
        self.assertEqual(3, st.size())
34
35
        st.delete("three")
36
        self.assertFalse(st.contains_key("three"))
37
        self.assertEqual(2, st.size())
38
39
        for i in range(100):
40
            st.put(str(i), i)
41
            self.assertEqual(i, st.get(str(i)))
42
43
        for key in st.keys():
44
            print(key)
45
46
        for i in range(100):
47
            st.delete(str(i))
48
            self.assertFalse(st.contains_key(str(i)))
49
50
        st.put('there', 2)
51
        st.put('this', 2)
52
        print('with prefix t')
53
        for key in st.keysWithPrefix('t'):
54
            print(key)
55
56
57
if __name__ == '__main__':
58
    unittest.main()
59