diff --git a/fizzbuzzx.py b/fizzbuzzx.py index 3a4394d..7f2c1b6 100755 --- a/fizzbuzzx.py +++ b/fizzbuzzx.py @@ -3,7 +3,7 @@ import argparse import logging import sys -from typing import List +from typing import Any, List, Optional, Sequence logging.basicConfig( level=logging.DEBUG, @@ -144,11 +144,12 @@ def input_validation(fizzbuzz_input) -> int: return number -def fizzbuzz_cli(): +def fizzbuzzx_cli(args: Optional[Sequence[Any]] = None): """CLI for fizzbuzz.""" + fizzbuzz_parser = argparse.ArgumentParser(description="Fizzbuzz!!!") - fizzbuzz_parser.add_argument("number", type=str, help="Input number to print up to") - fizzbuzz_args = fizzbuzz_parser.parse_args() + fizzbuzz_parser.add_argument("number", type=int, help="Input number to print up to") + fizzbuzz_args = fizzbuzz_parser.parse_args(args) number = input_validation(fizzbuzz_args.number) print(fizzbuzz(number)) diff --git a/test_fizzbuzzx.py b/test_fizzbuzzx.py index fb928ce..72438b9 100644 --- a/test_fizzbuzzx.py +++ b/test_fizzbuzzx.py @@ -1,5 +1,6 @@ + """Test file for fizzbuzz.""" -from fizzbuzzx import check_buzz, check_fizz, check_fizzbuzz, fizzbuzz +from fizzbuzzx import check_buzz, check_fizz, check_fizzbuzz, fizzbuzz, fizzbuzzx_cli def test_check_fizz(): @@ -51,3 +52,11 @@ def test_fizzbuzz(): "14", "fizzbuzz", ] + + +def test_cli(capsys): + """Test CLI.""" + args = ["3"] + fizzbuzzx_cli(args) + captured = capsys.readouterr() + assert captured.out.strip() == "['1', '2', 'fizz']"