Moved 20 to 26 to Python.

This commit is contained in:
2019-07-15 22:11:49 -04:00
parent 0ab214633e
commit f76b36c8d3
10 changed files with 194 additions and 174 deletions

View File

@@ -9,6 +9,8 @@ try:
from .lib_misc import even, odd
from .lib_misc import collatz_sequence
from .lib_misc import collatz_sequence_length
from .lib_misc import factorial
from .lib_misc import proper_divisors, sum_proper_divisors
except ModuleNotFoundError:
from lib_misc import is_palindrome_integer
from lib_misc import is_palindrome_string
@@ -19,6 +21,8 @@ except ModuleNotFoundError:
from lib_misc import even, odd
from lib_misc import collatz_sequence
from lib_misc import collatz_sequence_length
from lib_misc import factorial
from lib_misc import proper_divisors, sum_proper_divisors
class TestPrimeMethods(unittest.TestCase):
@@ -70,6 +74,27 @@ class TestPrimeMethods(unittest.TestCase):
[13, 40, 20, 10, 5, 16, 8, 4, 2, 1])
self.assertEqual(collatz_sequence_length(13), 10)
def test_factorial(self):
self.assertEqual(factorial(1), 1)
self.assertEqual(factorial(3), 6)
self.assertEqual(factorial(10), 3628800)
def test_proper_divisors(self):
self.assertEqual(proper_divisors(0), [])
self.assertEqual(proper_divisors(1), [])
self.assertEqual(proper_divisors(2), [1])
self.assertEqual(proper_divisors(4), [1, 2])
self.assertEqual(proper_divisors(220), [
1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110])
def test_sum_proper_divisors(self):
self.assertEqual(sum_proper_divisors(0), 0)
self.assertEqual(sum_proper_divisors(1), 0)
self.assertEqual(sum_proper_divisors(2), 1)
self.assertEqual(sum_proper_divisors(3), 1)
self.assertEqual(sum_proper_divisors(220), 284)
self.assertEqual(sum_proper_divisors(284), 220)
if __name__ == '__main__':
unittest.main()