import io
import unittest
from contextlib import redirect_stdout
from hello_hut.cli import main
def run(*argv):
out = io.StringIO()
with redirect_stdout(out):
code = main(list(argv))
return code, out.getvalue()
class CliTest(unittest.TestCase):
def test_count(self):
code, out = run("Ada", "--count", "3")
self.assertEqual(code, 0)
self.assertEqual(out.splitlines(), ["Hello, Ada!"] * 3)
def test_count_must_be_positive(self):
code, out = run("Ada", "--count", "0")
self.assertEqual(code, 2)
self.assertEqual(out, "")