def test_punct_nonpunct(): string = "༆ བཀྲ་ཤིས་བདེ་ལེགས།། །།" cb = ChunkFramework(string) chunks = cb.chunk_punct() output = cb.get_readable(chunks) assert output == [ ("PUNCT", "༆ "), ("NON_PUNCT", "བཀྲ་ཤིས་བདེ་ལེགས"), ("PUNCT", "།། །།"), ]
def test_many_tseks_in_syllable(): input_str = " ཤི་བཀྲ་ཤིས་ བདེ་་ལ ེ གས་ བཀྲ་ཤིས་བདེ་ལེགས" cb = ChunkFramework(input_str) chunks = cb.syllabify() readable = cb.get_readable(chunks) assert readable == [ ("TEXT", " ཤི་"), ("TEXT", "བཀྲ་"), ("TEXT", "ཤིས་"), ("TEXT", " བདེ་་"), ("TEXT", "ལ ེ གས་"), ("TEXT", " བཀྲ་"), ("TEXT", "ཤིས་"), ("TEXT", "བདེ་"), ("TEXT", "ལེགས"), ] chunks = cb.chunk_punct() chunks = cb.merge_skippable_punct(chunks) readable = cb.get_readable(chunks) assert readable == [ ("NON_PUNCT", " ཤི་བཀྲ་ཤིས་ བདེ་་ལ ེ གས་ བཀྲ་ཤིས་བདེ་ལེགས") ] ck = Chunks(input_str) chunks = ck.make_chunks() readable = ck.get_readable(chunks) assert readable == [ ("TEXT", " ཤི་"), ("TEXT", "བཀྲ་"), ("TEXT", "ཤིས་ "), ("TEXT", "བདེ་་"), ("TEXT", "ལ ེ གས་ "), ("TEXT", "བཀྲ་"), ("TEXT", "ཤིས་"), ("TEXT", "བདེ་"), ("TEXT", "ལེགས"), ]