test_digits_doublets   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 454
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 392
dl 0
loc 454
rs 10
c 0
b 0
f 0
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A Tests.test_Extra() 0 3 2
A Tests.test_Basics() 0 3 2
1
import unittest
2
3
from digits_doublets import checkio
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {
10
                'answer': [
11
                    [123, 121, 921, 991, 999],
12
                    [123, 991, 323, 321, 329, 121, 921, 125, 999],
13
                ],
14
                'input': [123, 991, 323, 321, 329, 121, 921, 125, 999],
15
            },
16
            {
17
                'answer': [
18
                    [111, 121, 127, 727, 777],
19
                    [111, 222, 333, 444, 555, 666, 121, 727, 127, 777],
20
                ],
21
                'input': [111, 222, 333, 444, 555, 666, 121, 727, 127, 777],
22
            },
23
            {
24
                'answer': [[456, 454, 654], [456, 455, 454, 356, 656, 654]],
25
                'input': [456, 455, 454, 356, 656, 654],
26
            },
27
        ],
28
        "Extra": [
29
            {'input': [555, 545], 'answer': [[555, 545], [555, 545]]},
30
            {
31
                'input': [
32
                    321,
33
                    322,
34
                    422,
35
                    522,
36
                    567,
37
                    123,
38
                    331,
39
                    431,
40
                    435,
41
                    735,
42
                    835,
43
                    635,
44
                    637,
45
                ],
46
                'answer': [
47
                    [321, 331, 431, 435, 635, 637],
48
                    [321, 322, 422, 522, 567, 123, 331, 431, 435, 735, 835, 635, 637],
49
                ],
50
            },
51
            {'input': [123, 223, 222], 'answer': [[123, 223, 222], [123, 223, 222]]},
52
            {
53
                'input': [
54
                    275,
55
                    867,
56
                    459,
57
                    224,
58
                    962,
59
                    132,
60
                    405,
61
                    430,
62
                    271,
63
                    724,
64
                    161,
65
                    740,
66
                    225,
67
                    484,
68
                    414,
69
                    814,
70
                    976,
71
                    869,
72
                    914,
73
                    241,
74
                ],
75
                'answer': [
76
                    [275, 271, 241],
77
                    [
78
                        275,
79
                        867,
80
                        459,
81
                        224,
82
                        962,
83
                        132,
84
                        405,
85
                        430,
86
                        271,
87
                        724,
88
                        161,
89
                        740,
90
                        225,
91
                        484,
92
                        414,
93
                        814,
94
                        976,
95
                        869,
96
                        914,
97
                        241,
98
                    ],
99
                ],
100
            },
101
            {
102
                'answer': [
103
                    [561, 571, 471, 478],
104
                    [
105
                        561,
106
                        105,
107
                        953,
108
                        744,
109
                        514,
110
                        309,
111
                        502,
112
                        532,
113
                        846,
114
                        671,
115
                        571,
116
                        471,
117
                        235,
118
                        857,
119
                        186,
120
                        413,
121
                        538,
122
                        468,
123
                        831,
124
                        478,
125
                    ],
126
                ],
127
                'input': [
128
                    561,
129
                    105,
130
                    953,
131
                    744,
132
                    514,
133
                    309,
134
                    502,
135
                    532,
136
                    846,
137
                    671,
138
                    571,
139
                    471,
140
                    235,
141
                    857,
142
                    186,
143
                    413,
144
                    538,
145
                    468,
146
                    831,
147
                    478,
148
                ],
149
            },
150
            {
151
                'input': [
152
                    996,
153
                    546,
154
                    300,
155
                    963,
156
                    563,
157
                    484,
158
                    789,
159
                    754,
160
                    370,
161
                    168,
162
                    362,
163
                    233,
164
                    216,
165
                    895,
166
                    646,
167
                    642,
168
                    596,
169
                    261,
170
                    305,
171
                    342,
172
                ],
173
                'answer': [
174
                    [996, 596, 546, 646, 642, 342],
175
                    [
176
                        996,
177
                        546,
178
                        300,
179
                        963,
180
                        563,
181
                        484,
182
                        789,
183
                        754,
184
                        370,
185
                        168,
186
                        362,
187
                        233,
188
                        216,
189
                        895,
190
                        646,
191
                        642,
192
                        596,
193
                        261,
194
                        305,
195
                        342,
196
                    ],
197
                ],
198
            },
199
            {
200
                'input': [
201
                    850,
202
                    113,
203
                    782,
204
                    625,
205
                    637,
206
                    771,
207
                    261,
208
                    766,
209
                    674,
210
                    207,
211
                    672,
212
                    650,
213
                    122,
214
                    684,
215
                    921,
216
                    680,
217
                    509,
218
                    862,
219
                    751,
220
                    372,
221
                ],
222
                'answer': [
223
                    [850, 650, 680, 684, 674, 672, 372],
224
                    [
225
                        850,
226
                        113,
227
                        782,
228
                        625,
229
                        637,
230
                        771,
231
                        261,
232
                        766,
233
                        674,
234
                        207,
235
                        672,
236
                        650,
237
                        122,
238
                        684,
239
                        921,
240
                        680,
241
                        509,
242
                        862,
243
                        751,
244
                        372,
245
                    ],
246
                ],
247
            },
248
            {
249
                'input': [
250
                    774,
251
                    311,
252
                    804,
253
                    352,
254
                    950,
255
                    925,
256
                    160,
257
                    598,
258
                    576,
259
                    512,
260
                    509,
261
                    714,
262
                    987,
263
                    995,
264
                    911,
265
                    203,
266
                    362,
267
                    314,
268
                    921,
269
                ],
270
                'answer': [
271
                    [774, 714, 314, 311, 911, 921],
272
                    [
273
                        774,
274
                        311,
275
                        804,
276
                        352,
277
                        950,
278
                        925,
279
                        160,
280
                        598,
281
                        576,
282
                        512,
283
                        509,
284
                        714,
285
                        987,
286
                        995,
287
                        911,
288
                        203,
289
                        362,
290
                        314,
291
                        921,
292
                    ],
293
                ],
294
            },
295
            {
296
                'input': [
297
                    432,
298
                    454,
299
                    447,
300
                    506,
301
                    631,
302
                    583,
303
                    176,
304
                    543,
305
                    566,
306
                    290,
307
                    901,
308
                    217,
309
                    436,
310
                    931,
311
                    147,
312
                    536,
313
                    766,
314
                    214,
315
                    769,
316
                ],
317
                'answer': [
318
                    [432, 436, 536, 566, 766, 769],
319
                    [
320
                        432,
321
                        454,
322
                        447,
323
                        506,
324
                        631,
325
                        583,
326
                        176,
327
                        543,
328
                        566,
329
                        290,
330
                        901,
331
                        217,
332
                        436,
333
                        931,
334
                        147,
335
                        536,
336
                        766,
337
                        214,
338
                        769,
339
                    ],
340
                ],
341
            },
342
            {
343
                'input': [
344
                    604,
345
                    194,
346
                    127,
347
                    916,
348
                    141,
349
                    542,
350
                    663,
351
                    895,
352
                    796,
353
                    126,
354
                    789,
355
                    428,
356
                    171,
357
                    684,
358
                    578,
359
                    783,
360
                    184,
361
                    935,
362
                    689,
363
                    733,
364
                ],
365
                'answer': [
366
                    [604, 684, 689, 789, 783, 733],
367
                    [
368
                        604,
369
                        194,
370
                        127,
371
                        916,
372
                        141,
373
                        542,
374
                        663,
375
                        895,
376
                        796,
377
                        126,
378
                        789,
379
                        428,
380
                        171,
381
                        684,
382
                        578,
383
                        783,
384
                        184,
385
                        935,
386
                        689,
387
                        733,
388
                    ],
389
                ],
390
            },
391
            {
392
                'input': [
393
                    139,
394
                    331,
395
                    333,
396
                    608,
397
                    661,
398
                    274,
399
                    814,
400
                    459,
401
                    831,
402
                    614,
403
                    324,
404
                    447,
405
                    370,
406
                    149,
407
                    405,
408
                    839,
409
                    141,
410
                    192,
411
                    392,
412
                    303,
413
                ],
414
                'answer': [
415
                    [139, 839, 831, 331, 333, 303],
416
                    [
417
                        139,
418
                        331,
419
                        333,
420
                        608,
421
                        661,
422
                        274,
423
                        814,
424
                        459,
425
                        831,
426
                        614,
427
                        324,
428
                        447,
429
                        370,
430
                        149,
431
                        405,
432
                        839,
433
                        141,
434
                        192,
435
                        392,
436
                        303,
437
                    ],
438
                ],
439
            },
440
        ],
441
    }
442
443
    def test_Basics(self):
444
        for i in self.TESTS['Basics']:
445
            assert checkio(i['input']) == i['answer'][0]
446
447
    def test_Extra(self):
448
        for i in self.TESTS['Extra']:
449
            assert checkio(i['input']) == i['answer'][0]
450
451
452
if __name__ == "__main__":  # pragma: no cover
453
    unittest.main()
454