test_right_to_left   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 86
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 66
dl 0
loc 86
rs 10
c 0
b 0
f 0
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A Tests.test_Basics() 0 3 2
A Tests.test_Extra() 0 3 2
1
import unittest
2
3
from right_to_left import left_join
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {
10
                "input": ("left", "right", "left", "stop"),
11
                "answer": "left,left,left,stop",
12
            },
13
            {"input": ("bright aright", "ok"), "answer": "bleft aleft,ok"},
14
            {"input": ("brightness wright",), "answer": "bleftness wleft"},
15
            {"input": ("enough", "jokes"), "answer": "enough,jokes"},
16
        ],
17
        "Extra": [
18
            {"input": ("r", "i", "g", "h", "t"), "answer": "r,i,g,h,t"},
19
            {
20
                "input": (
21
                    'lorem',
22
                    'ipsum',
23
                    'dolor',
24
                    'sit',
25
                    'amet',
26
                    'consectetuer',
27
                    'adipiscing',
28
                    'elit',
29
                    'aenean',
30
                    'commodo',
31
                    'ligula',
32
                    'eget',
33
                    'dolor',
34
                    'aenean',
35
                    'massa',
36
                    'cum',
37
                    'sociis',
38
                    'natoque',
39
                    'penatibus',
40
                    'et',
41
                    'magnis',
42
                    'dis',
43
                    'parturient',
44
                    'montes',
45
                    'nascetur',
46
                    'ridiculus',
47
                    'mus',
48
                    'donec',
49
                    'quam',
50
                    'felis',
51
                    'ultricies',
52
                    'nec',
53
                    'pellentesque',
54
                    'eu',
55
                    'pretium',
56
                    'quis',
57
                    'sem',
58
                    'nulla',
59
                    'consequat',
60
                    'massa',
61
                    'quis',
62
                ),
63
                "answer": 'lorem,ipsum,dolor,sit,amet,consectetuer,adipiscing,'
64
                'elit,aenean,commodo,ligula,eget,dolor,aenean,massa,'
65
                'cum,sociis,natoque,penatibus,et,magnis,dis,'
66
                'parturient,montes,nascetur,ridiculus,mus,donec,quam'
67
                ',felis,ultricies,nec,pellentesque,eu,pretium,quis,'
68
                'sem,nulla,consequat,massa,quis',
69
            },
70
            {"input": ("right",) * 20, "answer": ",".join(("left",) * 20)},
71
            {"input": ("right", "left") * 10, "answer": ",".join(("left",) * 20)},
72
        ],
73
    }
74
75
    def test_Basics(self):
76
        for i in self.TESTS['Basics']:
77
            assert left_join(i['input']) == i['answer'], i['input']
78
79
    def test_Extra(self):
80
        for i in self.TESTS['Extra']:
81
            assert left_join(i['input']) == i['answer'], i['input']
82
83
84
if __name__ == "__main__":  # pragma: no cover
85
    unittest.main()
86