Example #1
0
def test_vocative_particles():
    assert f(u'친구', u'야') == u'친구야'
    assert f(u'사랑', u'야') == u'사랑아'
    assert f(u'사랑', u'아') == u'사랑아'
    assert f(u'친구', u'여') == u'친구여'
    assert f(u'사랑', u'여') == u'사랑이여'
    assert f(u'하늘', u'이시여') == u'하늘이시여'
    assert f(u'바다', u'이시여') == u'바다시여'
Example #2
0
def test_vocative_particles():
    assert f(u'친구', u'야') == u'친구야'
    assert f(u'사랑', u'야') == u'사랑아'
    assert f(u'사랑', u'아') == u'사랑아'
    assert f(u'친구', u'여') == u'친구여'
    assert f(u'사랑', u'여') == u'사랑이여'
    assert f(u'하늘', u'이시여') == u'하늘이시여'
    assert f(u'바다', u'이시여') == u'바다시여'
Example #3
0
def test_combinations():
    assert f(u'이 방법', u'만으로는') == u'이 방법만으로는'
    assert f(u'나', u'조차도') == u'나조차도'
    assert f(u'그 친구', u'과는') == u'그 친구와는'
    assert f(u'그것', u'와는') == u'그것과는'
    assert f(u'사건', u'과(와)는') == u'사건과는'
    assert f(u'그 친구', u'관') == u'그 친구완'
Example #4
0
def test_combinations():
    assert f(u'이 방법', u'만으로는') == u'이 방법만으로는'
    assert f(u'나', u'조차도') == u'나조차도'
    assert f(u'그 친구', u'과는') == u'그 친구와는'
    assert f(u'그것', u'와는') == u'그것과는'
    assert f(u'사건', u'과(와)는') == u'사건과는'
    assert f(u'그 친구', u'관') == u'그 친구완'
Example #5
0
def test_decimal():
    assert f(u'레벨30', u'이') == u'레벨30이'
    assert f(u'레벨34', u'이') == u'레벨34가'
    assert f(u'레벨7', u'으로') == u'레벨7로'
    assert f(u'레벨42', u'으로') == u'레벨42로'
    assert f(u'레벨100', u'으로') == u'레벨100으로'
    assert pick_coda_from_decimal('1') == u'ㄹ'
    assert pick_coda_from_decimal('2') == u''
    assert pick_coda_from_decimal('3') == u'ㅁ'
    assert pick_coda_from_decimal('10') == u'ㅂ'
    assert pick_coda_from_decimal('16') == u'ㄱ'
    assert pick_coda_from_decimal('19') == u''
    assert pick_coda_from_decimal('200') == u'ㄱ'
    assert pick_coda_from_decimal('30000') == u'ㄴ'
    assert pick_coda_from_decimal('400000') == u'ㄴ'
    assert pick_coda_from_decimal('500000000') == u'ㄱ'
    assert pick_coda_from_decimal('1' + '0' * 50) == u'ㄱ'
    assert pick_coda_from_decimal('1' + '0' * 100) is None
    assert pick_coda_from_decimal('0') == u'ㅇ'
    assert pick_coda_from_decimal('1.0') == u'ㅇ'
    assert pick_coda_from_decimal('1.234567890') == u'ㅇ'
    assert pick_coda_from_decimal('3.14') == u''
Example #6
0
def test_decimal():
    assert f(u'레벨30', u'이') == u'레벨30이'
    assert f(u'레벨34', u'이') == u'레벨34가'
    assert f(u'레벨7', u'으로') == u'레벨7로'
    assert f(u'레벨42', u'으로') == u'레벨42로'
    assert f(u'레벨100', u'으로') == u'레벨100으로'
    assert pick_coda_from_decimal('1') == u'ㄹ'
    assert pick_coda_from_decimal('2') == u''
    assert pick_coda_from_decimal('3') == u'ㅁ'
    assert pick_coda_from_decimal('10') == u'ㅂ'
    assert pick_coda_from_decimal('16') == u'ㄱ'
    assert pick_coda_from_decimal('19') == u''
    assert pick_coda_from_decimal('200') == u'ㄱ'
    assert pick_coda_from_decimal('30000') == u'ㄴ'
    assert pick_coda_from_decimal('400000') == u'ㄴ'
    assert pick_coda_from_decimal('500000000') == u'ㄱ'
    assert pick_coda_from_decimal('1' + '0' * 50) == u'ㄱ'
    assert pick_coda_from_decimal('1' + '0' * 100) is None
    assert pick_coda_from_decimal('0') == u'ㅇ'
    assert pick_coda_from_decimal('1.0') == u'ㅇ'
    assert pick_coda_from_decimal('1.234567890') == u'ㅇ'
    assert pick_coda_from_decimal('3.14') == u''
Example #7
0
def test_tolerances():
    assert f(u'나오', u'은(는)') == u'나오는'
    assert f(u'나오', u'(은)는') == u'나오는'
    assert f(u'나오', u'는(은)') == u'나오는'
    assert f(u'나오', u'(는)은') == u'나오는'
Example #8
0
def test_invariant_particles():
    assert f(u'나오', u'도') == u'나오도'
    assert f(u'모리안', u'도') == u'모리안도'
    assert f(u'판교', u'에서') == u'판교에서'
    assert f(u'판교', u'에서는') == u'판교에서는'
    assert f(u'선생님', u'께서도') == u'선생님께서도'
    assert f(u'나오', u'의') == u'나오의'
    assert f(u'모리안', u'만') == u'모리안만'
    assert f(u'키홀', u'하고') == u'키홀하고'
    assert f(u'콩', u'만큼') == u'콩만큼'
    assert f(u'콩', u'마냥') == u'콩마냥'
    assert f(u'콩', u'처럼') == u'콩처럼'
Example #9
0
def test_ida():
    """Cases for '이다' which is a copulative and existential verb."""
    # Do or don't inject '이'.
    assert f(u'나오', u'이다') == u'나오다'
    assert f(u'키홀', u'이다') == u'키홀이다'
    # Merge with the following vowel as /j/.
    assert f(u'나오', u'이에요') == u'나오예요'
    assert f(u'키홀', u'이에요') == u'키홀이에요'
    # No allomorphs.
    assert f(u'나오', u'입니다') == u'나오입니다'
    assert f(u'키홀', u'입니다') == u'키홀입니다'
    # Give up to select an allomorph.
    assert f(u'God', u'이다') == u'God(이)다'
    assert f(u'God', u'이에요') == u'God(이)에요'
    assert f(u'God', u'입니다') == u'God입니다'
    assert f(u'God', u'였습니다') == u'God(이)었습니다'
    # Many examples.
    assert f(u'키홀', u'였습니다') == u'키홀이었습니다'
    assert f(u'나오', u'였습니다') == u'나오였습니다'
    assert f(u'나오', u'이었다') == u'나오였다'
    assert f(u'나오', u'이었지만') == u'나오였지만'
    assert f(u'나오', u'이지만') == u'나오지만'
    assert f(u'키홀', u'이지만') == u'키홀이지만'
    assert f(u'나오', u'지만') == u'나오지만'
    assert f(u'키홀', u'지만') == u'키홀이지만'
    assert f(u'나오', u'다') == u'나오다'
    assert f(u'키홀', u'다') == u'키홀이다'
    assert f(u'나오', u'이에요') == u'나오예요'
    assert f(u'키홀', u'이에요') == u'키홀이에요'
    assert f(u'나오', u'고') == u'나오고'
    assert f(u'키홀', u'고') == u'키홀이고'
    assert f(u'모리안', u'고') == u'모리안이고'
    assert f(u'나오', u'여서') == u'나오여서'
    assert f(u'키홀', u'여서') == u'키홀이어서'
    assert f(u'나오', u'이어서') == u'나오여서'
    assert f(u'키홀', u'라고라') == u'키홀이라고라'
    assert f(u'키홀', u'든지') == u'키홀이든지'
    assert f(u'키홀', u'던가') == u'키홀이던가'
    assert f(u'키홀', u'여도') == u'키홀이어도'
    assert f(u'키홀', u'야말로') == u'키홀이야말로'
    assert f(u'키홀', u'인양') == u'키홀인양'
    assert f(u'나오', u'인양') == u'나오인양'
Example #10
0
def test_insignificant():
    assert f(u'나오(Lv.25)', u'으로') == u'나오(Lv.25)로'
    assert f(u'나오 (Lv.25)', u'을') == u'나오 (Lv.25)를'
    assert f(u'나(?)오', u'으로') == u'나(?)오로'
    assert f(u'헬로월드!', u'으로') == u'헬로월드!로'
    assert f(u'?_?', u'으로') == u'?_?(으)로'
    assert f(u'임창정,,,', u'가') == u'임창정,,,이'
    assert f(u'《듀랑고》', u'을') == u'《듀랑고》를'
    assert f(u'불완전괄호)', u'은') == u'불완전괄호)는'
    assert f(u'이상한괄호)))', u'는') == u'이상한괄호)))는'
    assert f(u'이상한괄호)()', u'은') == u'이상한괄호)()는'
    assert f(u'이상한괄호())', u'(는)은') == u'이상한괄호())는'
    assert f(u'^_^', u'이었다.') == u'^_^(이)었다.'
    assert f(u'웃는얼굴^_^', u'이었다.') == u'웃는얼굴^_^이었다.'
    assert f(u'폭탄(가짜)...', u'이었다.') == u'폭탄(가짜)...이었다.'
    assert f(u'16(7)?!', u'으로') == u'16(7)?!으로'
    assert f(u'7(16)?!', u'으로') == u'7(16)?!로'
    assert f(u'검색\ue000', u'를') == u'검색\ue000을'
Example #11
0
def test_only_parentheses():
    assert f(u'(1, 2)', u'를') == u'(1, 2)를'
    assert f(u'(2, 3)', u'를') == u'(2, 3)을'
Example #12
0
def test_ida():
    """Cases for '이다' which is a copulative and existential verb."""
    # Do or don't inject '이'.
    assert f(u'나오', u'이다') == u'나오다'
    assert f(u'키홀', u'이다') == u'키홀이다'
    # Merge with the following vowel as /j/.
    assert f(u'나오', u'이에요') == u'나오예요'
    assert f(u'키홀', u'이에요') == u'키홀이에요'
    # No allomorphs.
    assert f(u'나오', u'입니다') == u'나오입니다'
    assert f(u'키홀', u'입니다') == u'키홀입니다'
    # Give up to select an allomorph.
    assert f(u'God', u'이다') == u'God(이)다'
    assert f(u'God', u'이에요') == u'God(이)에요'
    assert f(u'God', u'입니다') == u'God입니다'
    assert f(u'God', u'였습니다') == u'God(이)었습니다'
    # Many examples.
    assert f(u'키홀', u'였습니다') == u'키홀이었습니다'
    assert f(u'나오', u'였습니다') == u'나오였습니다'
    assert f(u'나오', u'이었다') == u'나오였다'
    assert f(u'나오', u'이었지만') == u'나오였지만'
    assert f(u'나오', u'이지만') == u'나오지만'
    assert f(u'키홀', u'이지만') == u'키홀이지만'
    assert f(u'나오', u'지만') == u'나오지만'
    assert f(u'키홀', u'지만') == u'키홀이지만'
    assert f(u'나오', u'다') == u'나오다'
    assert f(u'키홀', u'다') == u'키홀이다'
    assert f(u'나오', u'이에요') == u'나오예요'
    assert f(u'키홀', u'이에요') == u'키홀이에요'
    assert f(u'나오', u'고') == u'나오고'
    assert f(u'키홀', u'고') == u'키홀이고'
    assert f(u'모리안', u'고') == u'모리안이고'
    assert f(u'나오', u'여서') == u'나오여서'
    assert f(u'키홀', u'여서') == u'키홀이어서'
    assert f(u'나오', u'이어서') == u'나오여서'
    assert f(u'키홀', u'라고라') == u'키홀이라고라'
    assert f(u'키홀', u'든지') == u'키홀이든지'
    assert f(u'키홀', u'던가') == u'키홀이던가'
    assert f(u'키홀', u'여도') == u'키홀이어도'
    assert f(u'키홀', u'야말로') == u'키홀이야말로'
    assert f(u'키홀', u'인양') == u'키홀인양'
    assert f(u'나오', u'인양') == u'나오인양'
Example #13
0
def test_exceptions():
    # Empty.
    assert f(u'', u'를') == u'을(를)'
    # Onsets only.
    assert f(u'ㅋㅋㅋ', u'를') == u'ㅋㅋㅋ을(를)'
Example #14
0
def test_exceptions():
    # Empty.
    assert f(u'', u'를') == u'을(를)'
    # Onsets only.
    assert f(u'ㅋㅋㅋ', u'를') == u'ㅋㅋㅋ을(를)'
Example #15
0
def test_static_tolerance_style():
    assert f(u'나오', u'을', tolerance_style=u'을/를') == u'나오를'
    assert f(u'키홀', u'를', tolerance_style=u'을/를') == u'키홀을'
    assert f(u'Tossi', u'을', tolerance_style=u'을/를') == u'Tossi을/를'
Example #16
0
 def ff(particle_string):
     return f(u'남', particle_string), f(u'나', particle_string)
Example #17
0
def test_tolerances():
    assert f(u'나오', u'은(는)') == u'나오는'
    assert f(u'나오', u'(은)는') == u'나오는'
    assert f(u'나오', u'는(은)') == u'나오는'
    assert f(u'나오', u'(는)은') == u'나오는'
Example #18
0
def test_invariant_particles():
    assert f(u'나오', u'도') == u'나오도'
    assert f(u'모리안', u'도') == u'모리안도'
    assert f(u'판교', u'에서') == u'판교에서'
    assert f(u'판교', u'에서는') == u'판교에서는'
    assert f(u'선생님', u'께서도') == u'선생님께서도'
    assert f(u'나오', u'의') == u'나오의'
    assert f(u'모리안', u'만') == u'모리안만'
    assert f(u'키홀', u'하고') == u'키홀하고'
    assert f(u'콩', u'만큼') == u'콩만큼'
    assert f(u'콩', u'마냥') == u'콩마냥'
    assert f(u'콩', u'처럼') == u'콩처럼'
Example #19
0
 def ff(particle_string):
     return f(u'남', particle_string), f(u'나', particle_string)
Example #20
0
def test_insignificant():
    assert f(u'나오(Lv.25)', u'으로') == u'나오(Lv.25)로'
    assert f(u'나오 (Lv.25)', u'을') == u'나오 (Lv.25)를'
    assert f(u'나(?)오', u'으로') == u'나(?)오로'
    assert f(u'헬로월드!', u'으로') == u'헬로월드!로'
    assert f(u'?_?', u'으로') == u'?_?(으)로'
    assert f(u'임창정,,,', u'가') == u'임창정,,,이'
    assert f(u'《듀랑고》', u'을') == u'《듀랑고》를'
    assert f(u'불완전괄호)', u'은') == u'불완전괄호)는'
    assert f(u'이상한괄호)))', u'는') == u'이상한괄호)))는'
    assert f(u'이상한괄호)()', u'은') == u'이상한괄호)()는'
    assert f(u'이상한괄호())', u'(는)은') == u'이상한괄호())는'
    assert f(u'^_^', u'이었다.') == u'^_^(이)었다.'
    assert f(u'웃는얼굴^_^', u'이었다.') == u'웃는얼굴^_^이었다.'
    assert f(u'폭탄(가짜)...', u'이었다.') == u'폭탄(가짜)...이었다.'
    assert f(u'16(7)?!', u'으로') == u'16(7)?!으로'
    assert f(u'7(16)?!', u'으로') == u'7(16)?!로'
    assert f(u'검색\ue000', u'를') == u'검색\ue000을'
Example #21
0
def test_static_tolerance_style():
    assert f(u'나오', u'을', tolerance_style=u'을/를') == u'나오를'
    assert f(u'키홀', u'를', tolerance_style=u'을/를') == u'키홀을'
    assert f(u'Tossi', u'을', tolerance_style=u'을/를') == u'Tossi을/를'
Example #22
0
def test_only_parentheses():
    assert f(u'(1, 2)', u'를') == u'(1, 2)를'
    assert f(u'(2, 3)', u'를') == u'(2, 3)을'