From b88cf6ed20d0b380ae60339cb01ce43c50d93218 Mon Sep 17 00:00:00 2001 From: Grant Jenks Date: Tue, 27 Dec 2022 23:27:31 -0800 Subject: [PATCH] Add tests for entry-point changes --- src/freegames/__main__.py | 2 +- tests/test_main.py | 21 +++++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/freegames/__main__.py b/src/freegames/__main__.py index 3631d0ef..73ed8a6a 100644 --- a/src/freegames/__main__.py +++ b/src/freegames/__main__.py @@ -72,4 +72,4 @@ def main(): if __name__ == '__main__': - main() + main() # pragma: no cover diff --git a/tests/test_main.py b/tests/test_main.py index f85436cd..85b4e137 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -4,12 +4,14 @@ import runpy import unittest.mock as mock +from freegames import __main__ + def test_main_list(): random.seed(0) with mock.patch('sys.argv', ['__main__.py', 'list']): - runpy.run_module('freegames.__main__') + __main__.main() def test_main_copy(): @@ -19,7 +21,7 @@ def test_main_copy(): with mock.patch('sys.argv', ['__main__.py', 'copy', 'guess']): with mock.patch('builtins.open', mock_open): - runpy.run_module('freegames.__main__') + __main__.main() def test_main_copy_error(): @@ -31,7 +33,7 @@ def test_main_copy_error(): try: with mock.patch('sys.argv', ['__main__.py', 'copy', 'guess']): - runpy.run_module('freegames.__main__') + __main__.main() finally: os.remove('guess.py') @@ -40,4 +42,15 @@ def test_main_show(): random.seed(0) with mock.patch('sys.argv', ['__main__.py', 'show', 'guess']): - runpy.run_module('freegames.__main__') + __main__.main() + + +def test_main_play(): + random.seed(0) + mock_input = mock.Mock() + mock_input.side_effect = [20, 70, 50] + mocks = {'print': lambda *args: None, 'input': mock_input} + + with mock.patch.multiple('builtins', **mocks): + with mock.patch('sys.argv', ['__main__.py', 'play', 'guess']): + __main__.main()