Spaces:
Runtime error
Runtime error
import unittest | |
from utils.thai_word import ThaiWord | |
from collections import deque | |
class TestThaiWord(unittest.TestCase): | |
def setUp(self) -> None: | |
self.thw = ThaiWord() | |
def test_pretty_text_to_numeric(self): | |
tokens = deque(['ฮา','โหล','หนึ่ง','สอง','สาม','สี่']) | |
self.assertEqual(self.thw.pretty(tokens), | |
'ฮาโหล 1234', | |
'should convert single word number in thai to numeric') | |
def test_pretty_long_words_to_numeric(self): | |
tokens1 = deque([ | |
'ปี','นี้','สอง','พัน','ห้า','ร้อย','หก','สิบ','เจ็ด','นะ', ' ', | |
'ปี','หน้า','ก็','สอง','พัน','ห้า','ร้อย','หก','สิบ','แปด' | |
]) | |
self.assertEqual(self.thw.pretty(tokens1), | |
'ปีนี้ 2,567 นะ ปีหน้าก็ 2,568 ', | |
'should convert full-words number in thai to numeric in long words (case1)') | |
tokens2 = deque([ | |
'อืม', ' ', 'อยาก', 'ได้', 'ราย', 'ได้', 'ยี่', 'สิบ', | |
'เอ็ดล้าน', 'แบบ', 'เข้า', 'บ้าง', ' ', 'ทำ', 'ยัง', 'ไง', 'ดี' | |
]) | |
self.assertEqual(self.thw.pretty(tokens2), | |
'อืม อยากได้รายได้ 21,000,000 แบบเข้าบ้าง ทำยังไงดี', | |
'should convert full-words number in thai to numeric in long words (case2)') | |
tokens3 = deque([ | |
'อืม',' ','อยาก','ได้','ราย','ได้','ยี่สิบ','เอ็ด','ล้าน', | |
'แบบ', 'ร้าน','พร้อม','ทำ','ยัง','ไง','ดี' | |
]) | |
self.assertEqual(self.thw.pretty(tokens3), | |
'อืม อยากได้รายได้ 21,000,000 แบบร้านพร้อมทำยังไงดี', | |
'should convert full-words number in thai to numeric in long words (case3)') | |
def test_pretty_word11_to_numeric(self): | |
tokens1 = deque(['ซื้อ','มา','สิบ','เอ็ด','บาท']) | |
self.assertEqual(self.thw.pretty(tokens1), | |
'ซื้อมา 11 บาท', | |
'should correct specific numeric "สิบ" and "เอ็ด"') | |
tokens2 = deque(['ซื้อ','มา','สิบเอ็ด','บาท']) | |
self.assertEqual(self.thw.pretty(tokens2), | |
'ซื้อมา 11 บาท', | |
'should correct specific numeric "สิบเอ็ด"') | |
def test_pretty_word2x_to_numeric(self): | |
tokens1 = deque(['ซื้อ','มา','ยี่','สิบ','ห้า','บาท']) | |
self.assertEqual(self.thw.pretty(tokens1), | |
'ซื้อมา 25 บาท', | |
'should correct specific numeric "ยี่" and "สิบ"') | |
token2 = deque(['ซื้อ','มา','ยี่สิบ','ห้า','บาท']) | |
self.assertEqual(self.thw.pretty(token2), | |
'ซื้อมา 25 บาท', | |
'should correct specific numeric "ยี่สิบ"') | |
def tearDown(self) -> None: | |
self.thw = None |