Moved 1 to 5 to Python and learned a ton.
This commit is contained in:
47
python/lib_misc_tests.py
Normal file
47
python/lib_misc_tests.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import unittest
|
||||
try:
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
class TestPrimeMethods(unittest.TestCase):
|
||||
|
||||
def test_is_palindrome_integer(self):
|
||||
self.assertEqual(is_palindrome_integer(2), True)
|
||||
self.assertEqual(is_palindrome_integer(888), True)
|
||||
self.assertEqual(is_palindrome_integer(9009), True)
|
||||
self.assertEqual(is_palindrome_integer(23), False)
|
||||
self.assertEqual(is_palindrome_integer(9008), False)
|
||||
|
||||
def test_is_palindrome_string(self):
|
||||
self.assertEqual(is_palindrome_string(2), True)
|
||||
self.assertEqual(is_palindrome_string(888), True)
|
||||
self.assertEqual(is_palindrome_string(9009), True)
|
||||
self.assertEqual(is_palindrome_string(23), False)
|
||||
self.assertEqual(is_palindrome_string(9008), False)
|
||||
|
||||
def test_get_digits_reversed(self):
|
||||
self.assertEqual(get_digits_reversed(3), [3])
|
||||
self.assertEqual(get_digits_reversed(1234), [4, 3, 2, 1])
|
||||
self.assertEqual(get_digits_reversed(1000), [0, 0, 0, 1])
|
||||
|
||||
def test_get_item_counts(self):
|
||||
self.assertEqual(get_item_counts([]), {})
|
||||
self.assertEqual(get_item_counts([1, 1, 3]), {1: 2, 3: 1})
|
||||
|
||||
def test_product(self):
|
||||
self.assertEqual(product([2, 4, 8]), 64)
|
||||
self.assertEqual(product([]), 1)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user