Files
python/exercises/sum-of-multiples/sum_of_multiples_test.py

53 lines
1.5 KiB
Python
Raw Normal View History

"""
You can make the following assumptions about the inputs to the
'sum_of_multiples' function:
* All input numbers are non-negative 'int's, i.e. natural numbers including
zero.
* If a list of factors is given, its elements are uniqe and sorted in
ascending order.
* If the 'factors' argument is missing, use the list [3, 5] instead.
"""
2014-03-18 04:30:26 +01:00
import unittest
from sum_of_multiples import sum_of_multiples
2014-03-18 04:30:26 +01:00
class SumOfMultiplesTest(unittest.TestCase):
def test_sum_to_1(self):
self.assertEqual(0, sum_of_multiples(1))
2014-03-18 04:30:26 +01:00
def test_sum_to_3(self):
self.assertEqual(3, sum_of_multiples(4))
2014-03-18 04:30:26 +01:00
def test_sum_to_10(self):
self.assertEqual(23, sum_of_multiples(10))
2014-03-18 04:30:26 +01:00
def test_sum_to_100(self):
self.assertEqual(2318, sum_of_multiples(100))
2014-03-18 04:30:26 +01:00
def test_sum_to_1000(self):
self.assertEqual(233168, sum_of_multiples(1000))
2014-03-18 04:30:26 +01:00
def test_configurable_7_13_17_to_20(self):
self.assertEqual(51, sum_of_multiples(20, [7, 13, 17]))
2014-03-18 04:30:26 +01:00
2015-04-23 10:21:18 -06:00
def test_configurable_4_6_to_15(self):
self.assertEqual(30, sum_of_multiples(15, [4, 6]))
def test_configurable_5_6_8_to_150(self):
self.assertEqual(4419, sum_of_multiples(150, [5, 6, 8]))
2014-03-18 04:30:26 +01:00
def test_configurable_43_47_to_10000(self):
self.assertEqual(2203160, sum_of_multiples(10000, [43, 47]))
2014-10-25 23:28:24 +02:00
def test_configurable_0_to_10(self):
self.assertEqual(0, sum_of_multiples(10, [0]))
2014-10-25 23:28:24 +02:00
def test_configurable_0_1_to_10(self):
self.assertEqual(45, sum_of_multiples(10, [0, 1]))
2014-10-25 23:28:24 +02:00
2014-03-18 04:30:26 +01:00
if __name__ == '__main__':
unittest.main()