Skip to content

Commit 0c970fd

Browse files
authored
Merge pull request #967 from bact/add-khavee-tests
Add test_khavee to test suite
2 parents 78f1795 + 2b2a767 commit 0c970fd

File tree

4 files changed

+70
-8
lines changed

4 files changed

+70
-8
lines changed

pythainlp/khavee/example.py renamed to examples/khavee.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22
# SPDX-FileCopyrightText: 2016-2024 PyThaiNLP Project
33
# SPDX-License-Identifier: Apache-2.0
44

5-
import core
5+
# Example of using KhaveeVerifier from pythainlp.khavee
66

7-
kv = core.KhaveeVerifier()
7+
from pythainlp.khavee import KhaveeVerifier
8+
9+
10+
kv = KhaveeVerifier()
811

912

1013
# การเช็คสระ

pythainlp/khavee/core.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def check_marttra(self, word: str) -> str:
219219
220220
kv = KhaveeVerifier()
221221
222-
print(kv.check_marttra('สาว'))
222+
print(kv.check_marttra("สาว"))
223223
# output: 'เกอว'
224224
"""
225225
if word[-1] == "ร" and word[-2] in ["ต", "ท"]:
@@ -297,10 +297,10 @@ def is_sumpus(self, word1: str, word2: str) -> bool:
297297
298298
kv = KhaveeVerifier()
299299
300-
print(kv.is_sumpus('สรร', 'อัน'))
300+
print(kv.is_sumpus("สรร", "อัน"))
301301
# output: True
302302
303-
print(kv.is_sumpus('สรร', 'แมว'))
303+
print(kv.is_sumpus("สรร", "แมว"))
304304
# output: False
305305
"""
306306
marttra1 = self.check_marttra(word1)
@@ -609,9 +609,13 @@ def check_aek_too(
609609
kv = KhaveeVerifier()
610610
611611
# การเช็คคำเอกโท
612-
print(kv.check_aek_too('เอง'), kv.check_aek_too('เอ่ง'), kv.check_aek_too('เอ้ง'))
612+
print(
613+
kv.check_aek_too("เอง"),
614+
kv.check_aek_too("เอ่ง"),
615+
kv.check_aek_too("เอ้ง"),
616+
)
613617
# -> False, aek, too
614-
print(kv.check_aek_too(['เอง', 'เอ่ง', 'เอ้ง'])) # ใช้ List ได้เหมือนกัน
618+
print(kv.check_aek_too(["เอง", "เอ่ง", "เอ้ง"])) # ใช้ List ได้เหมือนกัน
615619
# -> [False, 'aek', 'too']
616620
617621

tests/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"tests.test_ancient",
1515
"tests.test_cli",
1616
"tests.test_corpus",
17+
"tests.test_khavee",
1718
"tests.test_morpheme",
1819
"tests.test_soundex",
1920
"tests.test_spell",

tests/test_khavee.py

+55-1
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,75 @@ def test_check_sara(self):
1515

1616
def test_check_marttra(self):
1717
self.assertEqual(kv.check_marttra("ปลิง"), "กง")
18+
self.assertEqual(kv.check_marttra("ยูง"), "กง")
19+
self.assertEqual(kv.check_marttra("กล่อง"), "กง")
20+
self.assertEqual(kv.check_marttra("สอง"), "กง")
21+
self.assertEqual(kv.check_marttra("เอ็ง"), "กง")
22+
self.assertEqual(kv.check_marttra("งง"), "กง")
23+
1824
self.assertEqual(kv.check_marttra("ลม"), "กม")
25+
self.assertEqual(kv.check_marttra("เฉลิม"), "กม")
26+
self.assertEqual(kv.check_marttra("เข็ม"), "กม")
27+
self.assertEqual(kv.check_marttra("จาม"), "กม")
28+
self.assertEqual(kv.check_marttra("ยิ้ม"), "กม")
29+
self.assertEqual(kv.check_marttra("เกม"), "กม")
30+
# self.assertEqual(kv.check_marttra("ขำ"), "กม")
31+
# self.assertEqual(kv.check_marttra("รมย์"), "กม")
32+
33+
self.assertEqual(kv.check_marttra("สวย"), "เกย")
1934
self.assertEqual(kv.check_marttra("โปรย"), "เกย")
35+
self.assertEqual(kv.check_marttra("เนย"), "เกย")
36+
self.assertEqual(kv.check_marttra("คอย"), "เกย")
37+
self.assertEqual(kv.check_marttra("ง่าย"), "เกย")
38+
# self.assertEqual(kv.check_marttra("ทัย"), "เกย")
39+
# self.assertEqual(kv.check_marttra("ไทย"), "เกย")
40+
# self.assertEqual(kv.check_marttra("ไกล"), "เกย")
41+
# self.assertEqual(kv.check_marttra("ใกล้"), "เกย")
42+
2043
self.assertEqual(kv.check_marttra("สาว"), "เกอว")
44+
self.assertEqual(kv.check_marttra("นิ้ว"), "เกอว")
45+
self.assertEqual(kv.check_marttra("แมว"), "เกอว")
46+
self.assertEqual(kv.check_marttra("ดาว"), "เกอว")
47+
self.assertEqual(kv.check_marttra("แก้ว"), "เกอว")
48+
2149
self.assertEqual(kv.check_marttra("บก"), "กก")
2250
self.assertEqual(kv.check_marttra("โรค"), "กก")
23-
self.assertEqual(kv.check_marttra("จักร"), "กก")
51+
self.assertEqual(kv.check_marttra("ลาก"), "กก")
52+
self.assertEqual(kv.check_marttra("นัข"), "กก")
53+
# self.assertEqual(kv.check_marttra("จักร"), "กก")
54+
2455
self.assertEqual(kv.check_marttra("จด"), "กด")
2556
self.assertEqual(kv.check_marttra("ตรวจ"), "กด")
57+
self.assertEqual(kv.check_marttra("เสริฐ"), "กด")
58+
self.assertEqual(kv.check_marttra("บุตร"), "กด")
59+
self.assertEqual(kv.check_marttra("ตรุษ"), "กด")
60+
self.assertEqual(kv.check_marttra("มืด"), "กด")
61+
# self.assertEqual(kv.check_marttra("โยชน์"), "กด")
62+
63+
self.assertEqual(kv.check_marttra("มึน"), "กน")
64+
self.assertEqual(kv.check_marttra("ร้าน"), "กน")
65+
self.assertEqual(kv.check_marttra("ขนุน"), "กน")
2666
self.assertEqual(kv.check_marttra("คน"), "กน")
2767
self.assertEqual(kv.check_marttra("ทมิฬ"), "กน")
68+
self.assertEqual(kv.check_marttra("ซีน"), "กน")
2869
self.assertEqual(kv.check_marttra("บรร"), "กน")
2970
self.assertEqual(kv.check_marttra("กร"), "กน")
71+
self.assertEqual(kv.check_marttra("เณร"), "กน")
72+
# self.assertEqual(kv.check_marttra("ยนต์"), "กน")
73+
# self.assertEqual(kv.check_marttra("กรรณ"), "กน")
74+
3075
self.assertEqual(kv.check_marttra("ชอบ"), "กบ")
3176
self.assertEqual(kv.check_marttra("ภาพ"), "กบ")
77+
self.assertEqual(kv.check_marttra("เทพ"), "กบ")
78+
self.assertEqual(kv.check_marttra("รูป"), "กบ")
79+
self.assertEqual(kv.check_marttra("เวฟ"), "กบ")
80+
self.assertEqual(kv.check_marttra("โลพ"), "กบ")
81+
3282
self.assertEqual(kv.check_marttra("ปลา"), "กา")
83+
self.assertEqual(kv.check_marttra("งู"), "กา")
84+
self.assertEqual(kv.check_marttra("หมู"), "กา")
85+
self.assertEqual(kv.check_marttra("มือ"), "กา")
86+
self.assertEqual(kv.check_marttra("ล้อ"), "กา")
3387

3488
def test_is_sumpus(self):
3589
self.assertTrue(kv.is_sumpus("สรร", "อัน"))

0 commit comments

Comments
 (0)