Passed
Push — master ( e560e6...6cdffb )
by Ken M.
02:07 queued 58s
created

test_repeating_decimals.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 repeating_decimals import convert
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {"input": [1, 3], "answer": "0.(3)"},
10
            {"input": [5, 3], "answer": "1.(6)"},
11
            {"input": [3, 8], "answer": "0.375"},
12
            {"input": [7, 11], "answer": "0.(63)"},
13
            {"input": [29, 12], "answer": "2.41(6)"},
14
            {"input": [11, 7], "answer": "1.(571428)"},
15
            {"input": [23, 2], "answer": "11.5"},
16
            {"input": [2, 21], "answer": "0.(095238)"},
17
            {"input": [1, 17], "answer": "0.(0588235294117647)"},
18
            {"input": [58, 23], "answer": "2.(5217391304347826086956)"},
19
            {"input": [0, 117], "answer": "0."},
20
            {"input": [4, 2], "answer": "2."},
21
        ],
22
        "Edge": [
23
            {"input": [0, 1], "answer": "0."},
24
            {"input": [0, 1000], "answer": "0."},
25
            {"input": [1, 1], "answer": "1."},
26
            {"input": [1, 1000], "answer": "0.001"},
27
            {"input": [1000, 1], "answer": "1000."},
28
            {"input": [1, 999], "answer": "0.(001)"},
29
            {
30
                "input": [1, 776],
31
                "answer": "0.001(288659793814432989690721649484536082474226804123711340206185567010309278350515463917525773195876)",
32
            },
33
        ],
34
        "Extra": [
35
            {"input": [2, 3], "answer": "0.(6)"},
36
            {"input": [5, 2], "answer": "2.5"},
37
            {"input": [6, 4], "answer": "1.5"},
38
            {"input": [20, 6], "answer": "3.(3)"},
39
            {"input": [11, 13], "answer": "0.(846153)"},
40
            {"input": [22, 13], "answer": "1.(692307)"},
41
            {"input": [18, 23], "answer": "0.(7826086956521739130434)"},
42
            {"input": [30, 23], "answer": "1.(3043478260869565217391)"},
43
            {"input": [10, 12], "answer": "0.8(3)"},
44
            {"input": [41, 12], "answer": "3.41(6)"},
45
            {"input": (408, 77), "answer": "5.(298701)"},
46
            {
47
                "input": (944, 547),
48
                "answer": "1.(7257769652650822669104204753199268738574040219378427787934186471663619744058500914076782449)",
49
            },
50
            {"input": (113, 927), "answer": "0.(1218985976267529665587918015102481)"},
51
        ],
52
    }
53
54
    def test_Basics(self):
55
        for i in self.TESTS['Basics']:
56
            assert convert(*i['input']) == i['answer']
57
58
    def test_Edge(self):
59
        for i in self.TESTS['Edge']:
60
            assert convert(*i['input']) == i['answer']
61
62
    def test_Extra(self):
63
        for i in self.TESTS['Extra']:
64
            assert convert(*i['input']) == i['answer']
65