Passed
Push — master ( 8edc1f...ae5669 )
by Ken M.
01:14
created

test_convex_hull.Tests.test_Extra()   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 convex_hull import checkio
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {
10
                "input": [[7, 6], [8, 4], [7, 2], [3, 2], [1, 6], [1, 8], [4, 9]],
11
                "answer": [4, 5, 6, 0, 1, 2, 3],
12
            },
13
            {
14
                "input": [[3, 8], [1, 6], [6, 2], [7, 6], [5, 5], [8, 4], [6, 8]],
15
                "answer": [1, 0, 6, 3, 5, 2],
16
            },
17
            {"input": [[2, 5], [5, 5], [5, 2], [2, 2]], "answer": [3, 0, 1, 2]},
18
            {
19
                "input": [[2, 5], [5, 5], [5, 2], [2, 2], [3, 4], [3, 3]],
20
                "answer": [3, 0, 1, 2],
21
            },
22
            {
23
                "input": [[4, 7], [5, 5], [2, 4], [7, 4], [3, 2], [5, 2]],
24
                "answer": [2, 0, 3, 5, 4],
25
            },
26
            {
27
                "input": [[7, 4], [5, 2], [4, 7], [4, 1], [3, 6], [1, 4]],
28
                "answer": [5, 4, 2, 0, 1, 3],
29
            },
30
            {
31
                "input": [[1, 1], [1, 3], [1, 4], [5, 1], [5, 5]],
32
                "answer": [0, 1, 2, 4, 3],
33
            },
34
            {
35
                "input": [[3, 2], [5, 2], [1, 5], [8, 5], [3, 7], [2, 9], [5, 9]],
36
                "answer": [2, 5, 6, 3, 1, 0],
37
            },
38
            {"input": [[9, 9], [1, 9], [1, 1]], "answer": [2, 1, 0]},
39
            {"input": [[2, 6], [5, 5], [4, 4], [2, 2]], "answer": [3, 0, 1, 2]},
40
            {
41
                "input": [
42
                    [7, 6],
43
                    [6, 5],
44
                    [3, 7],
45
                    [3, 6],
46
                    [5, 3],
47
                    [6, 2],
48
                    [3, 2],
49
                    [2, 4],
50
                    [1, 4],
51
                ],
52
                "answer": [8, 2, 0, 5, 6],
53
            },
54
        ],
55
        "Extra": [
56
            {"input": [[1, 1], [2, 5], [5, 5]], "answer": [0, 1, 2]},
57
            {"input": [[6, 6], [3, 6], [5, 4], [5, 2], [2, 2]], "answer": [4, 1, 0, 3]},
58
            {"input": [[2, 6], [5, 5], [4, 4], [2, 2]], "answer": [3, 0, 1, 2]},
59
            {"input": [[5, 5], [5, 7], [7, 7], [7, 5]], "answer": [0, 1, 2, 3]},
60
            {"input": [[4, 5], [4, 8], [2, 5], [7, 5], [4, 2]], "answer": [2, 1, 3, 4]},
61
            {"input": [[3, 8], [2, 2], [4, 5], [8, 6]], "answer": [1, 0, 3]},
62
            {
63
                "input": [[2, 3], [6, 3], [3, 2], [7, 2], [2, 1], [6, 1]],
64
                "answer": [4, 0, 1, 3, 5],
65
            },
66
        ],
67
    }
68
69
    def test_Basics(self):
70
        for i in self.TESTS['Basics']:
71
            assert checkio(i['input']) == i['answer']
72
73
    def test_Extra(self):
74
        for i in self.TESTS['Extra']:
75
            assert checkio(i['input']) == i['answer']
76
77
78
if __name__ == "__main__":  # pragma: no cover
79
    unittest.main()
80