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)