Passed
Push — master ( a892fa...d1ecba )
by Ken M.
01:03
created

test_hamming_distance2   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 59
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 49
dl 0
loc 59
rs 10
c 0
b 0
f 0
wmc 4
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