From 1533db0425ac1a70c76ffe3a91db1dddf4a51464 Mon Sep 17 00:00:00 2001 From: AdrienCos Date: Tue, 4 Jun 2019 12:29:04 -0400 Subject: [PATCH] Added Ackermann tests for better coverage --- tests/test_generators.py | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/tests/test_generators.py b/tests/test_generators.py index 17ad16e..9450a01 100644 --- a/tests/test_generators.py +++ b/tests/test_generators.py @@ -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()