Create test_main.py
This commit is contained in:
1 parent
73dcc01694
commit
0e5f0ae60b
1 file changed
+30
@@ -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)
|
||||
Reference in new issue
Block a user