예제 #1
0
def test_help(capsys):
    main([__file__, 'help'])
    out, err = capsys.readouterr()
    assert 'Usage:' in out
    main([__file__, '-h'])
    out2, err = capsys.readouterr()
    assert out2 == out
예제 #2
0
def test_two_letters(capsys):
    main([__file__, 'bu'])
    out, err = capsys.readouterr()
    assert 'Butterfree' in out
    # prefix search only
    main([__file__, 'ut'])
    out, err = capsys.readouterr()
    assert 'butterfree' not in out.lower()
예제 #3
0
def test_region_names(capsys):
    try:
        main(['-r', 'wrong_region', '-dr'])
    except SystemExit:
        pass  # It's supposed to crash.
    err: str = capsys.readouterr()[1].strip()
    assert err.endswith(
        "(choose from 'kanto', 'johto', 'hoenn', 'sinnoh', 'unova', 'kalos')")
예제 #4
0
def region_test(capsys, region_name):
    main([__file__, region_name])
    out, err = capsys.readouterr()
    # matrix test of first pokemon name and last pokemon name from all regions
    for name, region_info in region_dict.items():
        if name == 'extra':
            continue
        assert (region_info.first in out) == (name == region_name)
        assert (region_info.last in out) == (name == region_name)
예제 #5
0
def broken_test_two_letters(capsys):
    """ FIXME: The search argorhytm is now bultin the name filter """
    main([__file__, 'bu'])
    out, err = capsys.readouterr()
    assert 'Butterfree' in out
    # prefix search only
    main([__file__, 'ut'])
    out, err = capsys.readouterr()
    assert 'butterfree' not in out.lower()
예제 #6
0
def test_all(capsys):
    main([__file__, 'all'])
    out, err = capsys.readouterr()
    for region_info in region_dict.values():
        assert (region_info.first or '') in out  # convert None --> ''
        assert (region_info.last or '') in out  # convert None --> ''
예제 #7
0
def test_region_names(capsys):
    main([__file__, 'regions'])
    out, err = capsys.readouterr()
    for region_name in region_dict:
        assert region_name in out
예제 #8
0
def test_extra(capsys):
    main([__file__, 'extra'])
    out, err = capsys.readouterr()
    assert out.count('Castform') == 3, out  # issue #89
    assert 'turtwig' not in out.lower()
예제 #9
0
def test_three_args(capsys):
    main([__file__, 1, 2, 3])
    out, err = capsys.readouterr()
    assert out.startswith("Invalid number of arguments.")
예제 #10
0
def test_no_args(capsys):
    main([__file__])
    out, err = capsys.readouterr()
    assert out.startswith("No command line arguments specified.")
예제 #11
0
def test_question_mark(capsys):
    main([__file__, '?'])
    out, err = capsys.readouterr()
    assert 'deprecated' in out
예제 #12
0
def test_all(capsys):
    main(['-dr', '-ne'])
    out = capsys.readouterr()[0]
    for region_info in region_dict.values():
        assert (region_info.first or '') in out  # convert None --> ''
        assert (region_info.last or '') in out  # convert None --> ''
예제 #13
0
def test_extra(capsys):
    main(['-e', '-dr'])
    # TODO: Assertion based on number of files on ./Extras
    assert str(random.choice(Filter.filtered_list)).startswith('---')
예제 #14
0
def broken_test_three_args(capsys):
    """ FIXME: Now the main file accepts way more then 3 arguments """
    main([__file__, 1, 2, 3])
    out, err = capsys.readouterr()
    assert out.startswith("Invalid number of arguments.")
예제 #15
0
def broken_test_no_args(capsys):
    """ FIXME: Now the the main file accepts zero arguments """
    main([__file__])
    out, err = capsys.readouterr()
    assert out.startswith("No command line arguments specified.")