Files
fibonachi/test_main.py
T
2025-02-26 18:30:46 +07:00

31 lines
1.2 KiB
Python

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)