Code Duplication    Length = 156-156 lines in 2 locations

checkio/PyCon TW/English to Braille Translator/test_braille_translator.py 1 location

@@ 6-161 (lines=156) @@
3
from digit_stack import digit_stack
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {
10
                "input": [
11
                    'PUSH 3',
12
                    'POP',
13
                    'POP',
14
                    'PUSH 4',
15
                    'PEEK',
16
                    'PUSH 9',
17
                    'PUSH 0',
18
                    'PEEK',
19
                    'POP',
20
                    'PUSH 1',
21
                    'PEEK',
22
                ],
23
                "answer": 8,
24
            },
25
            {"input": ['POP', 'POP'], "answer": 0},
26
            {"input": ['PUSH 9', 'PUSH 9', 'POP'], "answer": 9},
27
            {"input": [], "answer": 0},
28
        ],
29
        "Edge": [
30
            {
31
                "input": [
32
                    'PUSH 0',
33
                    'PUSH 1',
34
                    'PUSH 2',
35
                    'PUSH 3',
36
                    'PUSH 4',
37
                    'PUSH 5',
38
                    'PUSH 6',
39
                    'PUSH 7',
40
                    'PUSH 8',
41
                    'PUSH 9',
42
                ],
43
                "answer": 0,
44
            },
45
            {"input": ['PEEK'], "answer": 0},
46
            {"input": ['POP'], "answer": 0},
47
            {
48
                "input": [
49
                    'PUSH 0',
50
                    'PEEK',
51
                    'PUSH 1',
52
                    'PEEK',
53
                    'PUSH 2',
54
                    'PEEK',
55
                    'PUSH 3',
56
                    'PEEK',
57
                    'PUSH 4',
58
                    'PEEK',
59
                    'PUSH 5',
60
                    'PEEK',
61
                    'PUSH 6',
62
                    'PEEK',
63
                    'PUSH 7',
64
                    'PEEK',
65
                    'PUSH 8',
66
                    'PEEK',
67
                    'PUSH 9',
68
                    'PEEK',
69
                ],
70
                "answer": 45,
71
            },
72
        ],
73
        "Extra": [
74
            {
75
                "input": [
76
                    'PUSH 3',
77
                    'PUSH 3',
78
                    'PUSH 0',
79
                    'POP',
80
                    'PEEK',
81
                    'PUSH 0',
82
                    'PUSH 2',
83
                    'PUSH 5',
84
                    'PUSH 1',
85
                ],
86
                "answer": 3,
87
            },
88
            {
89
                "input": [
90
                    'PUSH 0',
91
                    'PUSH 5',
92
                    'POP',
93
                    'PUSH 9',
94
                    'PUSH 3',
95
                    'POP',
96
                    'PUSH 5',
97
                    'PUSH 6',
98
                    'PUSH 2',
99
                    'PUSH 7',
100
                    'POP',
101
                    'POP',
102
                    'PUSH 3',
103
                    'PUSH 0',
104
                    'PUSH 9',
105
                    'POP',
106
                ],
107
                "answer": 26,
108
            },
109
            {"input": ['POP', 'PUSH 1', 'POP', 'PUSH 8', 'PEEK', 'POP'], "answer": 17},
110
            {
111
                "input": [
112
                    'POP',
113
                    'PUSH 6',
114
                    'PEEK',
115
                    'POP',
116
                    'POP',
117
                    'PUSH 1',
118
                    'POP',
119
                    'PUSH 3',
120
                    'POP',
121
                    'POP',
122
                    'POP',
123
                    'PEEK',
124
                    'PUSH 5',
125
                    'PEEK',
126
                    'PUSH 3',
127
                    'PEEK',
128
                    'PEEK',
129
                    'POP',
130
                ],
131
                "answer": 30,
132
            },
133
            {
134
                "input": [
135
                    'PUSH 1',
136
                    'PEEK',
137
                    'PUSH 2',
138
                    'PUSH 1',
139
                    'PEEK',
140
                    'PUSH 1',
141
                    'PUSH 9',
142
                    'PEEK',
143
                    'PEEK',
144
                    'PUSH 8',
145
                ],
146
                "answer": 20,
147
            },
148
        ],
149
    }
150
151
    def test_Basics(self):
152
        for i in self.TESTS['Basics']:
153
            assert digit_stack(i['input']) == i['answer']
154
155
    def test_Edge(self):
156
        for i in self.TESTS['Edge']:
157
            assert digit_stack(i['input']) == i['answer']
158
159
    def test_Extra(self):
160
        for i in self.TESTS['Extra']:
161
            assert digit_stack(i['input']) == i['answer']
162
163
164
if __name__ == "__main__":  # pragma: no cover

checkio/PyCon TW/Digit Stack/test_digit_stack.py 1 location

@@ 6-161 (lines=156) @@
3
from digit_stack import digit_stack
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {
10
                "input": [
11
                    'PUSH 3',
12
                    'POP',
13
                    'POP',
14
                    'PUSH 4',
15
                    'PEEK',
16
                    'PUSH 9',
17
                    'PUSH 0',
18
                    'PEEK',
19
                    'POP',
20
                    'PUSH 1',
21
                    'PEEK',
22
                ],
23
                "answer": 8,
24
            },
25
            {"input": ['POP', 'POP'], "answer": 0},
26
            {"input": ['PUSH 9', 'PUSH 9', 'POP'], "answer": 9},
27
            {"input": [], "answer": 0},
28
        ],
29
        "Edge": [
30
            {
31
                "input": [
32
                    'PUSH 0',
33
                    'PUSH 1',
34
                    'PUSH 2',
35
                    'PUSH 3',
36
                    'PUSH 4',
37
                    'PUSH 5',
38
                    'PUSH 6',
39
                    'PUSH 7',
40
                    'PUSH 8',
41
                    'PUSH 9',
42
                ],
43
                "answer": 0,
44
            },
45
            {"input": ['PEEK'], "answer": 0},
46
            {"input": ['POP'], "answer": 0},
47
            {
48
                "input": [
49
                    'PUSH 0',
50
                    'PEEK',
51
                    'PUSH 1',
52
                    'PEEK',
53
                    'PUSH 2',
54
                    'PEEK',
55
                    'PUSH 3',
56
                    'PEEK',
57
                    'PUSH 4',
58
                    'PEEK',
59
                    'PUSH 5',
60
                    'PEEK',
61
                    'PUSH 6',
62
                    'PEEK',
63
                    'PUSH 7',
64
                    'PEEK',
65
                    'PUSH 8',
66
                    'PEEK',
67
                    'PUSH 9',
68
                    'PEEK',
69
                ],
70
                "answer": 45,
71
            },
72
        ],
73
        "Extra": [
74
            {
75
                "input": [
76
                    'PUSH 3',
77
                    'PUSH 3',
78
                    'PUSH 0',
79
                    'POP',
80
                    'PEEK',
81
                    'PUSH 0',
82
                    'PUSH 2',
83
                    'PUSH 5',
84
                    'PUSH 1',
85
                ],
86
                "answer": 3,
87
            },
88
            {
89
                "input": [
90
                    'PUSH 0',
91
                    'PUSH 5',
92
                    'POP',
93
                    'PUSH 9',
94
                    'PUSH 3',
95
                    'POP',
96
                    'PUSH 5',
97
                    'PUSH 6',
98
                    'PUSH 2',
99
                    'PUSH 7',
100
                    'POP',
101
                    'POP',
102
                    'PUSH 3',
103
                    'PUSH 0',
104
                    'PUSH 9',
105
                    'POP',
106
                ],
107
                "answer": 26,
108
            },
109
            {"input": ['POP', 'PUSH 1', 'POP', 'PUSH 8', 'PEEK', 'POP'], "answer": 17},
110
            {
111
                "input": [
112
                    'POP',
113
                    'PUSH 6',
114
                    'PEEK',
115
                    'POP',
116
                    'POP',
117
                    'PUSH 1',
118
                    'POP',
119
                    'PUSH 3',
120
                    'POP',
121
                    'POP',
122
                    'POP',
123
                    'PEEK',
124
                    'PUSH 5',
125
                    'PEEK',
126
                    'PUSH 3',
127
                    'PEEK',
128
                    'PEEK',
129
                    'POP',
130
                ],
131
                "answer": 30,
132
            },
133
            {
134
                "input": [
135
                    'PUSH 1',
136
                    'PEEK',
137
                    'PUSH 2',
138
                    'PUSH 1',
139
                    'PEEK',
140
                    'PUSH 1',
141
                    'PUSH 9',
142
                    'PEEK',
143
                    'PEEK',
144
                    'PUSH 8',
145
                ],
146
                "answer": 20,
147
            },
148
        ],
149
    }
150
151
    def test_Basics(self):
152
        for i in self.TESTS['Basics']:
153
            assert digit_stack(i['input']) == i['answer']
154
155
    def test_Edge(self):
156
        for i in self.TESTS['Edge']:
157
            assert digit_stack(i['input']) == i['answer']
158
159
    def test_Extra(self):
160
        for i in self.TESTS['Extra']:
161
            assert digit_stack(i['input']) == i['answer']
162
163
164
if __name__ == "__main__":  # pragma: no cover