From 4b937c6dac434cf23bf936104091c062fe148806 Mon Sep 17 00:00:00 2001 From: Joakim Persson Date: Sat, 13 Jul 2024 11:00:40 +0200 Subject: [PATCH] =?UTF-8?q?Tydliggjort=20vilket=20testfall=20som=20k=C3=B6?= =?UTF-8?q?rs=20och=20resultatet=20av=20just=20detta=20testfall?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hanoi/unittest_hanoi.py | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/hanoi/unittest_hanoi.py b/hanoi/unittest_hanoi.py index 59aeb8c..8fb6e7d 100644 --- a/hanoi/unittest_hanoi.py +++ b/hanoi/unittest_hanoi.py @@ -31,52 +31,38 @@ class TestTowerOfHanoi(unittest.TestCase): """ def test_valid_input(self): - print("=========================") - print("test_valid_input:") - self.assertEqual(tower_of_hanoi(3, 'A', 'B', 'C'), None) # Example with 3 disks - print("=========================\n") + self.assertEqual(tower_of_hanoi(3, 'A', 'B', 'C'), None) def test_edge_case_single_disk(self): - print("=========================") - print("test_edge_case_single_disk:") - print("=========================\n") expected_output = "Move disk 1 from A to C\n" captured_output = io.StringIO() sys.stdout = captured_output tower_of_hanoi(1, 'A', 'B', 'C') sys.stdout = sys.__stdout__ # Reset stdout + self.assertEqual(captured_output.getvalue(), expected_output) def test_invalid_input_zero_disks(self): - print("=========================") - print("test_invalid_input_zero_disks:") with self.assertRaises(ValueError): tower_of_hanoi(0, 'A', 'B', 'C') - print("=========================\n") def test_prompt_for_integer_valid(self): - print("=========================") - print("test_prompt_for_integer_valid:") with io.StringIO("3\n") as mock_stdin: sys.stdin = mock_stdin self.assertEqual(prompt_for_integer(), 3) - print("\n=========================\n") def test_prompt_for_integer_invalid_negative(self): - print("=========================") - print("test_prompt_for_integer_invalid_negative:") with io.StringIO("-2\n1\n") as mock_stdin: sys.stdin = mock_stdin - self.assertEqual(prompt_for_integer(), 1) # Should eventually get a valid integer - print("\n=========================\n") + self.assertEqual(prompt_for_integer(), 1) # Should eventually get a valid integer def test_prompt_for_integer_invalid_string(self): - print("=========================") - print("test_prompt_for_integer_invalid_string:") with io.StringIO("abc\n3\n") as mock_stdin: sys.stdin = mock_stdin - self.assertEqual(prompt_for_integer(), 3) # Should eventually get a valid integer - print("\n=========================\n") + self.assertEqual(prompt_for_integer(), 3) # Should eventually get a valid integer + + if __name__ == '__main__': - unittest.main() + runner = unittest.TextTestRunner(verbosity=2) # Set verbosity to 2 for more details + unittest.main(testRunner=runner)