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