|
1
|
|
|
import unittest |
|
2
|
|
|
|
|
3
|
|
|
from hamming_distance2 import checkio |
|
4
|
|
|
|
|
5
|
|
|
|
|
6
|
|
|
class Tests(unittest.TestCase): |
|
7
|
|
|
TESTS = { |
|
8
|
|
|
"Basics": [ |
|
9
|
|
|
{"input": [117, 17], "answer": 3}, |
|
10
|
|
|
{"input": [1, 2], "answer": 2}, |
|
11
|
|
|
{"input": [16, 15], "answer": 5}, |
|
12
|
|
|
{"input": [255, 1], "answer": 7}, |
|
13
|
|
|
{"input": [16, 16], "answer": 0}, |
|
14
|
|
|
{"input": [204, 157], "answer": 3}, |
|
15
|
|
|
{"input": [31, 51], "answer": 3}, |
|
16
|
|
|
{"input": [84, 198], "answer": 3}, |
|
17
|
|
|
{"input": [57, 39], "answer": 4}, |
|
18
|
|
|
{"input": [140, 160], "answer": 3}, |
|
19
|
|
|
{"input": [16, 128], "answer": 2}, |
|
20
|
|
|
{"input": [2, 255], "answer": 7}, |
|
21
|
|
|
{"input": [100, 200], "answer": 4}, |
|
22
|
|
|
{"input": [255, 1], "answer": 7}, |
|
23
|
|
|
], |
|
24
|
|
|
"Extra": [ |
|
25
|
|
|
{"input": [1, 999_999], "answer": 11}, |
|
26
|
|
|
{"input": [999_999, 1], "answer": 11}, |
|
27
|
|
|
{"input": [1, 524_287], "answer": 18}, |
|
28
|
|
|
{"input": [524_288, 524_287], "answer": 20}, |
|
29
|
|
|
{"input": [100_000, 50], "answer": 7}, |
|
30
|
|
|
{"input": [193_521, 872_992], "answer": 11}, |
|
31
|
|
|
{"input": [249_994, 104_391], "answer": 9}, |
|
32
|
|
|
{"input": [679_972, 710_253], "answer": 8}, |
|
33
|
|
|
], |
|
34
|
|
|
} |
|
35
|
|
|
|
|
36
|
|
|
def test_Basics(self): |
|
37
|
|
|
for i in self.TESTS['Basics']: |
|
38
|
|
|
assert checkio(*i['input']) == i['answer'], i['input'] |
|
39
|
|
|
|
|
40
|
|
|
def test_Extra(self): |
|
41
|
|
|
for i in self.TESTS['Extra']: |
|
42
|
|
|
assert checkio(*i['input']) == i['answer'], i['input'] |
|
43
|
|
|
|
|
44
|
|
|
|
|
45
|
|
|
if __name__ == "__main__": # pragma: no cover |
|
46
|
|
|
unittest.main() |
|
47
|
|
|
|