Passed
Push — master ( bf2308...026523 )
by Ken M.
01:15
created

test_hexagon_spiral   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 41
dl 0
loc 49
rs 10
c 0
b 0
f 0
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A Tests.test_Basics() 0 3 2
A Tests.test_Extra() 0 3 2
1
import unittest
2
3
from hexagon_spiral import hex_spiral
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {"input": [2, 9], "answer": 1, "explanation": 2},
10
            {"input": [9, 2], "answer": 1, "explanation": 2},
11
            {"input": [6, 19], "answer": 2, "explanation": 7},
12
            {"input": [5, 11], "answer": 3, "explanation": 1},
13
            {"input": [13, 15], "answer": 2, "explanation": 14},
14
            {"input": [11, 17], "answer": 4, "explanation": 1},
15
            {"input": [6, 4], "answer": 2, "explanation": 1},
16
            {"input": [42, 13], "answer": 5, "explanation": 4},
17
            {"input": [66, 81], "answer": 10, "explanation": 1},
18
            {"input": [76, 65], "answer": 10, "explanation": 7},
19
            {"input": [84, 78], "answer": 6, "explanation": 15},
20
            {"input": [92, 62], "answer": 1, "explanation": 0},
21
            {"input": [100, 1], "answer": 6, "explanation": 0},
22
            {"input": [200, 202], "answer": 2, "explanation": 0},
23
        ],
24
        "Extra": [
25
            {"input": [2, 8], "answer": 1, "explanation": 0},
26
            {"input": [9, 1], "answer": 2, "explanation": 2},
27
            {"input": [16, 19], "answer": 3, "explanation": 7},
28
            {"input": [55, 11], "answer": 6, "explanation": 17},
29
            {"input": [11, 15], "answer": 4, "explanation": 1},
30
            {"input": [21, 17], "answer": 4, "explanation": 6},
31
            {"input": [41, 13], "answer": 6, "explanation": 1},
32
            {"input": [77, 81], "answer": 4, "explanation": 79},
33
            {"input": [55, 65], "answer": 8, "explanation": 32},
34
            {"input": [92, 32], "answer": 8, "explanation": 0},
35
            {"input": [101, 1], "answer": 6, "explanation": 0},
36
            {"input": [300, 302], "answer": 2, "explanation": 0},
37
            {"input": [999, 998], "answer": 1, "explanation": 0},
38
            {"input": [84, 68], "answer": 10, "explanation": 37},
39
        ],
40
    }
41
42
    def test_Basics(self):
43
        for i in self.TESTS['Basics']:
44
            assert hex_spiral(*i['input']) == i['answer']
45
46
    def test_Extra(self):
47
        for i in self.TESTS['Extra']:
48
            assert hex_spiral(*i['input']) == i['answer']
49