2019-07-09 23:23:16 +03:00
|
|
|
import pytest
|
|
|
|
|
|
|
|
# fmt: off
|
|
|
|
TOKENIZER_TESTS = [("서울 타워 근처에 살고 있습니다.", "서울 타워 근처 에 살 고 있 습니다 ."),
|
2019-07-25 18:53:33 +03:00
|
|
|
("영등포구에 있는 맛집 좀 알려주세요.", "영등포구 에 있 는 맛집 좀 알려 주 세요 ."),
|
|
|
|
("10$ 할인코드를 적용할까요?", "10 $ 할인 코드 를 적용 할까요 ?")]
|
2019-07-09 23:23:16 +03:00
|
|
|
|
2019-07-11 13:02:25 +03:00
|
|
|
TAG_TESTS = [("서울 타워 근처에 살고 있습니다.",
|
2019-07-09 23:23:16 +03:00
|
|
|
"NNP NNG NNG JKB VV EC VX EF SF"),
|
2019-07-11 13:02:25 +03:00
|
|
|
("영등포구에 있는 맛집 좀 알려주세요.",
|
2019-07-09 23:23:16 +03:00
|
|
|
"NNP JKB VV ETM NNG MAG VV VX EP SF")]
|
|
|
|
|
|
|
|
FULL_TAG_TESTS = [("영등포구에 있는 맛집 좀 알려주세요.",
|
|
|
|
"NNP JKB VV ETM NNG MAG VV+EC VX EP+EF SF")]
|
|
|
|
|
2019-07-11 13:02:25 +03:00
|
|
|
POS_TESTS = [("서울 타워 근처에 살고 있습니다.",
|
2019-07-09 23:23:16 +03:00
|
|
|
"PROPN NOUN NOUN ADP VERB X AUX X PUNCT"),
|
|
|
|
("영등포구에 있는 맛집 좀 알려주세요.",
|
|
|
|
"PROPN ADP VERB X NOUN ADV VERB AUX X PUNCT")]
|
|
|
|
# fmt: on
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize("text,expected_tokens", TOKENIZER_TESTS)
|
|
|
|
def test_ko_tokenizer(ko_tokenizer, text, expected_tokens):
|
|
|
|
tokens = [token.text for token in ko_tokenizer(text)]
|
|
|
|
assert tokens == expected_tokens.split()
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize("text,expected_tags", TAG_TESTS)
|
|
|
|
def test_ko_tokenizer_tags(ko_tokenizer, text, expected_tags):
|
|
|
|
tags = [token.tag_ for token in ko_tokenizer(text)]
|
|
|
|
assert tags == expected_tags.split()
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize("text,expected_tags", FULL_TAG_TESTS)
|
|
|
|
def test_ko_tokenizer_full_tags(ko_tokenizer, text, expected_tags):
|
|
|
|
tags = ko_tokenizer(text).user_data["full_tags"]
|
|
|
|
assert tags == expected_tags.split()
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize("text,expected_pos", POS_TESTS)
|
|
|
|
def test_ko_tokenizer_pos(ko_tokenizer, text, expected_pos):
|
|
|
|
pos = [token.pos_ for token in ko_tokenizer(text)]
|
|
|
|
assert pos == expected_pos.split()
|
2019-09-06 11:29:40 +03:00
|
|
|
|
|
|
|
|
|
|
|
def test_ko_empty_doc(ko_tokenizer):
|
|
|
|
tokens = ko_tokenizer("")
|
|
|
|
assert len(tokens) == 0
|