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

test_number_base.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 number_base import checkio
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {"input": ["AF", 16], "answer": 175},
10
            {"input": ["101", 2], "answer": 5},
11
            {"input": ["101", 5], "answer": 26},
12
            {"input": ["Z", 36], "answer": 35},
13
            {"input": ["AB", 10], "answer": -1},
14
        ],
15
        "Extra": [
16
            {"input": ['F0', 16], "answer": 240},
17
            {"input": ['1111111111', 2], "answer": 1023},
18
            {"input": ['255', 7], "answer": 138},
19
            {"input": ['IDDQD', 30], "answer": 14_943_493},
20
            {"input": ['1000', 10], "answer": 1000},
21
            {"input": ['ASD', 15], "answer": -1},
22
            {"input": ['222', 3], "answer": 26},
23
            {"input": ['XYZ', 36], "answer": 44027},
24
            {"input": ['909', 9], "answer": -1},
25
            {"input": ['1234567890', 11], "answer": 2_853_116_695},
26
            {"input": ['5A6E', 10], "answer": -1},
27
            {"input": ['1000000', 31], "answer": 887_503_681},
28
        ],
29
    }
30
31
    def test_Basics(self):
32
        for i in self.TESTS['Basics']:
33
            assert checkio(i['input'][0], i['input'][1]) == i['answer']
34
35
    def test_Extra(self):
36
        for i in self.TESTS['Extra']:
37
            assert checkio(i['input'][0], i['input'][1]) == i['answer']
38
39
40
if __name__ == "__main__":  # pragma: no cover
41
    unittest.main()
42