Moved more problems to Python.

This commit is contained in:
2019-07-14 23:58:22 -04:00
parent 86e68eeee2
commit 0ab214633e
14 changed files with 476 additions and 0 deletions

View File

@@ -5,12 +5,20 @@ try:
from .lib_misc import get_digits_reversed
from .lib_misc import get_item_counts
from .lib_misc import product
from .lib_misc import triangle_numbers
from .lib_misc import even, odd
from .lib_misc import collatz_sequence
from .lib_misc import collatz_sequence_length
except ModuleNotFoundError:
from lib_misc import is_palindrome_integer
from lib_misc import is_palindrome_string
from lib_misc import get_digits_reversed
from lib_misc import get_item_counts
from lib_misc import product
from lib_misc import triangle_numbers
from lib_misc import even, odd
from lib_misc import collatz_sequence
from lib_misc import collatz_sequence_length
class TestPrimeMethods(unittest.TestCase):
@@ -42,6 +50,26 @@ class TestPrimeMethods(unittest.TestCase):
self.assertEqual(product([2, 4, 8]), 64)
self.assertEqual(product([]), 1)
def test_triangle_numbers(self):
f = triangle_numbers()
self.assertEqual(next(f), 1)
self.assertEqual(next(f), 3)
self.assertEqual(next(f), 6)
self.assertEqual(next(f), 10)
self.assertEqual(next(f), 15)
self.assertEqual(next(f), 21)
def test_even_odd(self):
self.assertTrue(odd(3))
self.assertTrue(even(4))
self.assertFalse(even(3))
self.assertFalse(odd(4))
def test_collatz(self):
self.assertEqual(collatz_sequence(13),
[13, 40, 20, 10, 5, 16, 8, 4, 2, 1])
self.assertEqual(collatz_sequence_length(13), 10)
if __name__ == '__main__':
unittest.main()