From 0e5f0ae60b7c6d29cc7c3f5455a0920e7f186331 Mon Sep 17 00:00:00 2001 From: kromskii2 <146603192+kromskii2@users.noreply.github.com> Date: Wed, 26 Feb 2025 18:30:46 +0700 Subject: [PATCH] Create test_main.py --- test_main.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 test_main.py diff --git a/test_main.py b/test_main.py new file mode 100644 index 0000000..4a0c7cd --- /dev/null +++ b/test_main.py @@ -0,0 +1,30 @@ + +import unittest +from unittest.mock import MagicMock, patch +import main + +class TestFibonacci(unittest.TestCase): + """Тестирование генератора Фибоначчи""" + + def test_sequence_generation(self): + """Проверка первых 10 чисел""" + expected = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] + fib_gen = main.fibonacci_sequence() + for num in expected: + self.assertEqual(next(fib_gen), num) + + @patch('main.argparse.ArgumentParser') + def test_argument_parsing(self, mock_parser): + """Проверка обработки аргументов""" + main.main() + mock_parser.assert_called_once_with( + prog='Fibonacci Generator', + description='Генератор бесконечной последовательности Фибоначчи', + epilog='Разработан с ❤️ для сообщества Фибоначчи' + ) + + def test_negative_delay(self): + """Проверка обработки отрицательной задержки""" + with self.assertRaises(SystemExit) as cm: + main.main(['-d', '-1']) + self.assertEqual(cm.exception.code, 2)