Example #1
0
def test_parse_ok_small_mixed_placeholders():
    job = ["A", "B", "T", "3", "A", "_", "_"]
    letters, stanzas, n_slots, placeholders, errors, warnings = wol.parse(job)
    assert letters == [ch.lower() for ch in job[:3]]
    assert stanzas == []
    assert n_slots == [int(job[3])]
    assert placeholders == {int(job[3]): [ch.lower() for ch in job[3 + 1:]]}
    assert errors == []
    assert warnings == []
Example #2
0
def test_parse_ok_minimal_wildcard_placeholders():
    job = ["A", "T", "2", "_", "_"]
    letters, stanzas, n_slots, placeholders, errors, warnings = wol.parse(job)
    assert letters == [ch.lower() for ch in job[:2]]
    assert stanzas == []
    assert n_slots == [int(job[2])]
    assert placeholders == {int(job[2]): [ch.lower() for ch in job[2 + 1:]]}
    assert errors == []
    assert warnings == []
Example #3
0
def test_parse_ok_minimal_ignored_placeholder():
    job = ["A", "_", "T", "2"]
    letters, stanzas, n_slots, placeholders, warnings, errors = wol.parse(job)
    assert letters == [ch.lower() for ch in job[:3:2]]
    assert stanzas == []
    assert n_slots == [int(job[-1])]
    assert placeholders == {}
    assert warnings == ['WARNING Ignoring placeholder as letter (_) ...']
    assert errors == []
Example #4
0
def test_parse_ok_minimal_stanzas():
    job = ["AT", "AT", "2"]
    letters, stanzas, n_slots, placeholders, errors, warnings = wol.parse(job)
    assert letters == ['a', 't', 'a', 't']
    assert stanzas == [['a', 't'], ['a', 't']]
    assert n_slots == [int(job[-1])]
    assert placeholders == {}
    assert errors == []
    assert warnings == []
Example #5
0
def test_parse_ok_minimal():
    job = ["A", "T", "2"]
    letters, stanzas, n_slots, placeholders, errors, warnings = wol.parse(job)
    assert letters == [ch.lower() for ch in job[:2]]
    assert stanzas == []
    assert n_slots == [int(job[-1])]
    assert placeholders == {}
    assert errors == []
    assert warnings == []
Example #6
0
def test_parse_nok_empty():
    job = []
    letters, stanzas, n_slots, placeholders, warnings, errors = wol.parse(job)
    assert letters == []
    assert stanzas == []
    assert n_slots == []
    assert placeholders == {}
    assert warnings == []
    assert errors == [
        'Usage: script <letters> ... <slots> [<placeholders> <slots> ...]\n'
        'Received ([]) argument vector'
    ]