Passed
Push — master ( bdb004...c4f271 )
by Ken M.
01:01
created

test_cakes_rows.Tests.test_Basics()   A

Complexity

Conditions 2

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 3
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
import unittest
2
3
from cakes_rows import checkio
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {
10
                "input": [[3, 3], [5, 5], [8, 8], [2, 8], [8, 2]],
11
                "answer": 2,
12
                "explanation": [[3, 3, 8, 8], [2, 8, 8, 2]],
13
            },
14
            {
15
                "input": [
16
                    [2, 2],
17
                    [2, 5],
18
                    [2, 8],
19
                    [5, 2],
20
                    [7, 2],
21
                    [8, 2],
22
                    [9, 2],
23
                    [4, 5],
24
                    [4, 8],
25
                    [7, 5],
26
                    [5, 8],
27
                    [9, 8],
28
                ],
29
                "answer": 6,
30
                "explanation": [
31
                    [2, 2, 2, 8],
32
                    [2, 2, 9, 2],
33
                    [2, 8, 9, 8],
34
                    [2, 5, 7, 5],
35
                    [5, 2, 9, 8],
36
                    [5, 8, 9, 2],
37
                ],
38
            },
39
            {
40
                "input": [
41
                    [2, 2],
42
                    [2, 5],
43
                    [2, 8],
44
                    [5, 2],
45
                    [5, 5],
46
                    [5, 8],
47
                    [8, 2],
48
                    [8, 5],
49
                    [8, 8],
50
                ],
51
                "answer": 8,
52
                "explanation": [
53
                    [2, 2, 8, 8],
54
                    [2, 2, 2, 8],
55
                    [2, 2, 8, 2],
56
                    [2, 5, 8, 5],
57
                    [2, 8, 8, 8],
58
                    [5, 2, 5, 8],
59
                    [8, 2, 8, 8],
60
                    [8, 2, 2, 8],
61
                ],
62
            },
63
            {
64
                "input": [
65
                    [2, 0],
66
                    [8, 0],
67
                    [3, 3],
68
                    [4, 3],
69
                    [6, 3],
70
                    [7, 3],
71
                    [4, 6],
72
                    [6, 6],
73
                    [5, 9],
74
                ],
75
                "answer": 5,
76
                "explanation": [
77
                    [2, 0, 5, 9],
78
                    [8, 0, 5, 9],
79
                    [3, 3, 7, 3],
80
                    [2, 0, 6, 6],
81
                    [8, 0, 4, 6],
82
                ],
83
            },
84
            {
85
                "input": [
86
                    [5, 1],
87
                    [2, 2],
88
                    [8, 2],
89
                    [1, 5],
90
                    [9, 5],
91
                    [2, 8],
92
                    [8, 8],
93
                    [5, 9],
94
                ],
95
                "answer": 0,
96
                "explanation": [],
97
            },
98
            {
99
                "input": [
100
                    [5, 1],
101
                    [2, 2],
102
                    [8, 2],
103
                    [1, 5],
104
                    [5, 5],
105
                    [9, 5],
106
                    [2, 8],
107
                    [8, 8],
108
                    [5, 9],
109
                ],
110
                "answer": 4,
111
                "explanation": [[5, 1, 5, 9], [1, 5, 9, 5], [2, 2, 8, 8], [8, 2, 2, 8]],
112
            },
113
            {
114
                "input": [
115
                    [5, 0],
116
                    [5, 1],
117
                    [2, 2],
118
                    [8, 2],
119
                    [0, 5],
120
                    [1, 5],
121
                    [5, 5],
122
                    [9, 5],
123
                    [10, 5],
124
                    [2, 8],
125
                    [8, 8],
126
                    [5, 9],
127
                    [5, 10],
128
                ],
129
                "answer": 4,
130
                "explanation": [
131
                    [5, 0, 5, 10],
132
                    [0, 5, 10, 5],
133
                    [2, 2, 8, 8],
134
                    [8, 2, 2, 8],
135
                ],
136
            },
137
        ],
138
        "Extra": [
139
            {
140
                "input": [[1, 1], [1, 3], [3, 3], [1, 7], [5, 7], [7, 7]],
141
                "answer": 3,
142
                "explanation": [[1, 1, 7, 7], [1, 1, 1, 7], [1, 7, 7, 7]],
143
            },
144
            {
145
                "input": [
146
                    [0, 0],
147
                    [3, 0],
148
                    [6, 0],
149
                    [9, 0],
150
                    [0, 3],
151
                    [2, 3],
152
                    [5, 3],
153
                    [9, 3],
154
                    [0, 6],
155
                    [4, 6],
156
                    [9, 6],
157
                    [0, 9],
158
                    [3, 9],
159
                    [6, 9],
160
                    [9, 9],
161
                ],
162
                "answer": 10,
163
                "explanation": [
164
                    [0, 0, 9, 0],
165
                    [0, 3, 9, 3],
166
                    [0, 6, 9, 6],
167
                    [0, 9, 9, 9],
168
                    [0, 0, 6, 9],
169
                    [0, 0, 0, 9],
170
                    [9, 0, 9, 9],
171
                    [3, 0, 9, 9],
172
                    [6, 0, 3, 9],
173
                    [3, 0, 0, 9],
174
                ],
175
            },
176
            {
177
                "input": [
178
                    [0, 0],
179
                    [1, 1],
180
                    [2, 2],
181
                    [3, 3],
182
                    [4, 4],
183
                    [5, 5],
184
                    [6, 6],
185
                    [7, 7],
186
                    [8, 8],
187
                    [9, 9],
188
                    [10, 10],
189
                ],
190
                "answer": 1,
191
                "explanation": [[0, 0, 10, 10]],
192
            },
193
        ],
194
    }
195
196
    def test_Basics(self):
197
        for i in self.TESTS['Basics']:
198
            assert checkio(i['input']) == i['answer']
199
200
    def test_Extra(self):
201
        for i in self.TESTS['Extra']:
202
            assert checkio(i['input']) == i['answer']
203
204
205
if __name__ == "__main__":  # pragma: no cover
206
    unittest.main()
207