Moved more problems to Python.
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user