Added Ackermann tests for better coverage

This commit is contained in:
AdrienCos 2019-06-04 12:29:04 -04:00
parent c6603e276b
commit 1533db0425
No known key found for this signature in database
GPG key ID: 97AD9AEBCA16D08D

View file

@ -88,14 +88,25 @@ class TestGenerators(unittest.TestCase):
self.assertEqual(tuple(itertools.islice(generators.carmichael(), 33)),
tuple(int(line) for line in f))
def test_ackermann_naive(self):
def test_ackermann_slow(self):
"""Test the Ackermann set.
"""
with open('./tests/expected-results/ackermann', 'r') as f:
self.assertEqual(generators.ackermann_slow(
3, 1), int(f.readline()))
self.assertEqual(generators.ackermann_slow(
3, 2), int(f.readline()))
self.assertEqual(generators.ackermann_slow(3, 1), 13)
self.assertEqual(generators.ackermann_slow(3, 2), 29)
def test_ackermann_naive(self):
"""Test the Naive Ackermann generator
"""
gen = generators.ackermann_naive(3)
next(gen)
with open('./tests/expected-results/ackermann', 'r') as f:
self.assertEqual(next(gen), int(f.readline()))
self.assertEqual(next(gen), int(f.readline()))
def test_ackermann(self):
def test_ackermann_fast(self):
"""Test the Ackermann set.
"""
with open('./tests/expected-results/ackermann', 'r') as f:
@ -108,6 +119,15 @@ class TestGenerators(unittest.TestCase):
self.assertEqual(generators.ackermann_fast(
4, 2), int(f.readline()))
def test_ackermann(self):
"""Test the Ackermann generator
"""
gen = generators.ackermann(3)
next(gen)
with open('./tests/expected-results/ackermann', 'r') as f:
self.assertEqual(next(gen), int(f.readline()))
self.assertEqual(next(gen), int(f.readline()))
if __name__ == '__main__':
unittest.main()