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 == []
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 == []
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 == []
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 == []
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 == []
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' ]