def test_main_ok_init_long_option(capsys): wol.LANGUAGE_TEXT_FILE_PATH = LANGUAGE_TEXT_FILE_PATH job = ["--init", 2, 3] usage_feedback = ('Initializing word databases for sizes in [2, 3] ...') assert cli.main(job) == 0 out, err = capsys.readouterr() assert out.strip() == usage_feedback
def test_main_nok_too_many_placeholders_same_size_slots(capsys): job = ["A", "B", "A", "B", "2", "A", "_", "2", "_", "B"] usage_feedback = ( "ERROR 1 too many placeholders (['a', '_', '_']) for slot 2") assert cli.main(job) == 2 out, err = capsys.readouterr() assert out.strip() == usage_feedback
def test_main_nok_too_many_slots(capsys): job = ["A", "B", "12"] usage_feedback = ( 'ERROR Only (2) characters given but requested (12) slots (12) ...') assert cli.main(job) == 2 out, err = capsys.readouterr() assert out.strip() == usage_feedback
def test_main_nok_empty_array(capsys): job = ['[]'] usage_feedback = ( 'Usage: script <letters> ... <slots> [<placeholders> <slots> ...]\n' "Received (['[]']) argument vector") assert cli.main(job) == 2 out, err = capsys.readouterr() assert out.strip() == usage_feedback
def test_main_ok_minimal_with_placeholders_stanzas(capsys): wol.LANGUAGE_TEXT_FILE_PATH = LANGUAGE_TEXT_FILE_PATH wol.DB_BASE_PATH = DB_BASE_PATH word_length = 2 job = ["at", f"{word_length}", "a", "_"] screen_display = ('2 Letters available:\n' '\n' ' a t\n' '\n' 'Found 1 candidates of length(2) from letters(a t):\n' '\n' ' 0) at') assert cli.main(job) == 0 out, err = capsys.readouterr() assert out.strip() == screen_display
# -*- coding: utf-8 -*- # pylint: disable=missing-docstring import sys from words_of_letters.cli import main if __name__ == "__main__": sys.exit(main(sys.argv[1:])) # pragma: no cover