|
| 1 | +""" |
| 2 | +You can make the following assumptions about the inputs to the |
| 3 | +'sum_of_multiples' function: |
| 4 | + * All input numbers are non-negative 'int's, i.e. natural numbers including |
| 5 | + zero. |
| 6 | + * If a list of factors is given, its elements are uniqe and sorted in |
| 7 | + ascending order. |
| 8 | + * If the 'factors' argument is missing, use the list [3, 5] instead. |
| 9 | +""" |
| 10 | + |
1 | 11 | import unittest
|
2 | 12 |
|
3 |
| -from sum_of_multiples import SumOfMultiples |
| 13 | +from sum_of_multiples import sum_of_multiples |
4 | 14 |
|
5 | 15 |
|
6 | 16 | class SumOfMultiplesTest(unittest.TestCase):
|
7 | 17 | def test_sum_to_1(self):
|
8 |
| - self.assertEqual(0, SumOfMultiples().to(1)) |
| 18 | + self.assertEqual(0, sum_of_multiples(1)) |
9 | 19 |
|
10 | 20 | def test_sum_to_3(self):
|
11 |
| - self.assertEqual(3, SumOfMultiples().to(4)) |
| 21 | + self.assertEqual(3, sum_of_multiples(4)) |
12 | 22 |
|
13 | 23 | def test_sum_to_10(self):
|
14 |
| - self.assertEqual(23, SumOfMultiples().to(10)) |
| 24 | + self.assertEqual(23, sum_of_multiples(10)) |
15 | 25 |
|
16 | 26 | def test_sum_to_1000(self):
|
17 |
| - self.assertEqual(233168, SumOfMultiples().to(1000)) |
| 27 | + self.assertEqual(233168, sum_of_multiples(1000)) |
18 | 28 |
|
19 | 29 | def test_configurable_7_13_17_to_20(self):
|
20 |
| - self.assertEqual(51, SumOfMultiples(7, 13, 17).to(20)) |
| 30 | + self.assertEqual(51, sum_of_multiples(20, [7, 13, 17])) |
21 | 31 |
|
22 | 32 | def test_configurable_43_47_to_10000(self):
|
23 |
| - self.assertEqual(2203160, SumOfMultiples(43, 47).to(10000)) |
| 33 | + self.assertEqual(2203160, sum_of_multiples(10000, [43, 47])) |
| 34 | + |
| 35 | + def test_configurable_0_to_10(self): |
| 36 | + self.assertEqual(0, sum_of_multiples(10, [0])) |
| 37 | + |
| 38 | + def test_configurable_0_1_to_10(self): |
| 39 | + self.assertEqual(45, sum_of_multiples(10, [0, 1])) |
24 | 40 |
|
25 | 41 |
|
26 | 42 | if __name__ == '__main__':
|
|
0 commit comments