def test_scan_one_word(three_lines):
    result = list(scan(three_lines, 'sign'))
    assert len(result) == 2
    char, name = result[0]
    assert char == '<'
    assert name == 'LESS-THAN SIGN'
    char, name = result[1]
    assert char == '='
    assert name == 'EQUALS SIGN'
def test_scan_old_name(line_with_old_name):
    result = list(scan([line_with_old_name], 'period'))
    assert len(result) == 1
    char, name = result[0]
    assert char == '.'
    assert name == 'FULL STOP | PERIOD'
def test_scan_empty_query(three_lines):
    result = list(scan(three_lines, ' '))
    assert len(result) == 0
def test_scan_hyphenated_word(three_lines):
    result = list(scan(three_lines, 'less-than'))
    assert len(result) == 1
    char, name = result[0]
    assert char == '<'
    assert name == 'LESS-THAN SIGN'