Module:cmn-pron/sandbox/testcases
Jump to navigation
Jump to search
- This module sandbox lacks a documentation subpage. Please create it.
- Useful links: root page • root page’s subpages • links • transclusions • tested module • sandbox of (diff)
local p = require('Module:UnitTests')
local m_pron = require('Module:cmn-pron/sandbox')
function p:check_convert(text, expected)
self:equals(text, m_pron.py_zhuyin(text), expected)
end
function p:check_diacr2num(text, expected)
self:equals(text, m_pron.py_transform(text,true), expected)
end
function p:zhuyin_py(text, expected)
self:equals(text, m_pron.zhuyin_py(text), expected)
end
function p:gwoyeu(text, expected)
self:equals(text, m_pron.py_gwoyeu(text), expected)
end
function p:py_wg(text, expected)
self:equals(text, m_pron.py_wg(text), expected)
end
function p:tongyong(text, expected)
self:equals(text, m_pron.py_tongyong(text), expected)
end
function p:test_convert_diacritics()
local examples = {
{ 'yái','ㄧㄞˊ' },
{ 'ōyō','ㄛ ㄧㄛ' },
--èr, ěr and apostrophe
{ 'ěrduo','ㄦˇ ˙ㄉㄨㄛ' },
{ 'èr','ㄦˋ' },
{ "dì'èr shǒu","ㄉㄧˋ ㄦˋ ㄕㄡˇ" },
{ 'Běijīng','ㄅㄟˇ ㄐㄧㄥ' },
{ 'Zhōngguó','ㄓㄨㄥ ㄍㄨㄛˊ' },
{ 'biān ... biān ...','ㄅㄧㄢ ... ㄅㄧㄢ ...' },
{ 'bùyóu fēnshuō','ㄅㄨˋ ㄧㄡˊ ㄈㄣ ㄕㄨㄛ' },
--erhua (???)
{ 'wánr','ㄨㄢˊㄦ' },
{ 'dàir','ㄉㄞˋㄦ' },
-- neutral tone
{ 'zhong','˙ㄓㄨㄥ' },
{ 'ma','˙ㄇㄚ' },
{ 'ba','˙ㄅㄚ' },
{ 'ne','˙ㄋㄜ' },
{ 'a','˙ㄚ' },
{ 'le','˙ㄌㄜ' },
{ 'fèiyong','ㄈㄟˋ ˙ㄩㄥ' },
{ 'zhùyīn','ㄓㄨˋ ㄧㄣ' },
{ 'fúhào','ㄈㄨˊ ㄏㄠˋ' },
{ 'Dōngnán-Yà','ㄉㄨㄥ ㄋㄢˊ ㄧㄚˋ' },
}
self:iterate(examples, 'check_convert')
end
function p:test_convert_numeric()
local examples = {
{ 'a1','ㄚ' },
{ 'a2','ㄚˊ' },
{ 'a3','ㄚˇ' },
{ 'a4','ㄚˋ' },
{ 'a5','˙ㄚ' },
{ 'ai1','ㄞ' },
{ 'ai2','ㄞˊ' },
{ 'ai3','ㄞˇ' },
{ 'ai4','ㄞˋ' },
{ 'ai5','˙ㄞ' },
{ 'an1','ㄢ' },
{ 'an2','ㄢˊ' },
{ 'an3','ㄢˇ' },
{ 'an4','ㄢˋ' },
{ 'an5','˙ㄢ' },
{ 'ang1','ㄤ' },
{ 'ang2','ㄤˊ' },
{ 'ang3','ㄤˇ' },
{ 'ang4','ㄤˋ' },
{ 'ang5','˙ㄤ' },
{ 'zun4','ㄗㄨㄣˋ' },
{ 'zhong3','ㄓㄨㄥˇ' },
{ 'juan3','ㄐㄩㄢˇ' },
{ 'juan1 kuan3','ㄐㄩㄢ ㄎㄨㄢˇ' },
{ 'er3 der2 er4 juanr1 xier4 zhongr3','ㄦˇ ㄉㄜˊㄦ ㄦˋ ㄐㄩㄢㄦ ㄒㄧㄝˋㄦ ㄓㄨㄥˇㄦ' },
{ 'shi4 jie4 shi4 duo1 me5 de5 mei3 hao3 a5','ㄕˋ ㄐㄧㄝˋ ㄕˋ ㄉㄨㄛ ˙ㄇㄜ ˙ㄉㄜ ㄇㄟˇ ㄏㄠˇ ˙ㄚ' },
{ 'shi4jie4shi4duo1me5de5mei3hao3a5','ㄕˋ ㄐㄧㄝˋ ㄕˋ ㄉㄨㄛ ˙ㄇㄜ ˙ㄉㄜ ㄇㄟˇ ㄏㄠˇ ˙ㄚ' },
{ 'la1ji1','ㄌㄚ ㄐㄧ' },
{ 'zhong5','˙ㄓㄨㄥ' },
}
self:iterate(examples, 'check_convert')
end
function p:test_diacritics_to_numeric()
local examples = {
{ 'Běijīng','bei3 jing1' },
{ 'Zhōngguó','zhong1 guo2' },
{ 'zhong','zhong5' },
}
self:iterate(examples, 'check_diacr2num')
end
function p:test_convert_pinyin()
local examples = {
--yō
{ 'ㄧㄛ', 'yō' },
--special cases
{ 'ㄏㄇ˙', 'hm' },
{ 'ㄫˊ', 'ńg' },
{ 'ㄫˇ', 'ňg' },
{ 'ㄫˋ', 'ǹg' },
{ 'ㄉㄧˋ ㄦˋ ㄕㄡˇ', "dì èr shǒu" },
--erhua
{ 'ㄨㄢˊㄦ', 'wánr' },
{ 'ㄉㄞˋㄦ', 'dàir' },
{ 'ㄚˊ', 'á' },
{ 'ㄞˋ', 'ài' },
{ 'ㄢ˙', 'an' },
{ 'ㄤˋ', 'àng' },
{ 'ㄠ', 'āo' },
{ 'ㄅㄚˋ', 'bà' },
{ 'ㄅㄞˋ', 'bài' },
{ 'ㄅㄢ˙', 'ban' },
{ 'ㄅㄤˇ', 'bǎng' },
{ 'ㄅㄠˋ', 'bào' },
{ 'ㄅㄟ', 'bēi' },
{ 'ㄅㄣˊ', 'bén' },
{ 'ㄅㄥ˙', 'beng' },
{ 'ㄅㄧˋ', 'bì' },
{ 'ㄅㄧㄢ', 'biān' },
{ 'ㄅㄧㄠ˙', 'biao' },
{ 'ㄅㄧㄝ', 'biē' },
{ 'ㄅㄧㄣ˙', 'bin' },
{ 'ㄅㄧㄥˇ', 'bǐng' },
{ 'ㄅㄛ', 'bō' },
{ 'ㄅㄨ˙', 'bu' },
{ 'ㄘㄚ', 'cā' },
{ 'ㄘㄞˇ', 'cǎi' },
{ 'ㄘㄢˋ', 'càn' },
{ 'ㄘㄤˊ', 'cáng' },
{ 'ㄘㄠ', 'cāo' },
{ 'ㄘㄜˊ', 'cé' },
{ 'ㄘㄟˊ', 'céi' },
{ 'ㄘㄣ', 'cēn' },
{ 'ㄘㄥ', 'cēng' },
{ 'ㄔㄚˋ', 'chà' },
{ 'ㄔㄞˋ', 'chài' },
{ 'ㄔㄢ', 'chān' },
{ 'ㄔㄤˋ', 'chàng' },
{ 'ㄔㄠ˙', 'chao' },
{ 'ㄔㄜˋ', 'chè' },
{ 'ㄔㄣˇ', 'chěn' },
{ 'ㄔㄥˊ', 'chéng' },
{ 'ㄔ', 'chī' },
{ 'ㄔㄨㄥˊ', 'chóng' },
{ 'ㄔㄡˋ', 'chòu' },
{ 'ㄔㄨˊ', 'chú' },
{ 'ㄔㄨㄚ˙', 'chua' },
{ 'ㄔㄨㄞ˙', 'chuai' },
{ 'ㄔㄨㄢˇ', 'chuǎn' },
{ 'ㄔㄨㄤˋ', 'chuàng' },
{ 'ㄔㄨㄟˋ', 'chuì' },
{ 'ㄔㄨㄣˇ', 'chǔn' },
{ 'ㄔㄨㄛ˙', 'chuo' },
{ 'ㄘ˙', 'ci' },
{ 'ㄘㄨㄥ', 'cōng' },
{ 'ㄘㄡˊ', 'cóu' },
{ 'ㄘㄨˋ', 'cù' },
{ 'ㄘㄨㄢˇ', 'cuǎn' },
{ 'ㄘㄨㄟ', 'cuī' },
{ 'ㄘㄨㄣ', 'cūn' },
{ 'ㄘㄨㄛˊ', 'cuó' },
{ 'ㄉㄚˊ', 'dá' },
{ 'ㄉㄞˇ', 'dǎi' },
{ 'ㄉㄢ', 'dān' },
{ 'ㄉㄤ', 'dāng' },
{ 'ㄉㄠˇ', 'dǎo' },
{ 'ㄉㄜˊ', 'dé' },
{ 'ㄉㄟˇ', 'děi' },
{ 'ㄉㄣ˙', 'den' },
{ 'ㄉㄥ˙', 'deng' },
{ 'ㄉㄧˇ', 'dǐ' },
{ 'ㄉㄧㄚˋ', 'dià' },
{ 'ㄉㄧㄢˇ', 'diǎn' },
{ 'ㄉㄧㄠ', 'diāo' },
{ 'ㄉㄧㄝˋ', 'diè' },
{ 'ㄉㄧㄥˊ', 'díng' },
{ 'ㄉㄧㄡˇ', 'diǔ' },
{ 'ㄉㄨㄥ', 'dōng' },
{ 'ㄉㄡ', 'dōu' },
{ 'ㄉㄨ', 'dū' },
{ 'ㄉㄨㄢ', 'duān' },
{ 'ㄉㄨㄟˇ', 'duǐ' },
{ 'ㄉㄨㄣˇ', 'dǔn' },
{ 'ㄉㄨㄛ˙', 'duo' },
{ 'ㄜˋ', 'è' },
{ 'ㄟ', 'ēi' },
{ 'ㄣˋ', 'èn' },
{ 'ㄥˋ', 'èng' },
{ 'ㄦˇ', 'ěr' },
{ 'ㄈㄚˇ', 'fǎ' },
{ 'ㄈㄢˋ', 'fàn' },
{ 'ㄈㄤˊ', 'fáng' },
{ 'ㄈㄟ', 'fēi' },
{ 'ㄈㄣ', 'fēn' },
{ 'ㄈㄥ', 'fēng' },
{ 'ㄈㄧㄠ', 'fiāo' },
{ 'ㄈㄛˇ', 'fǒ' },
{ 'ㄈㄡˇ', 'fǒu' },
{ 'ㄈㄨˋ', 'fù' },
{ 'ㄍㄚ˙', 'ga' },
{ 'ㄍㄞˊ', 'gái' },
{ 'ㄍㄢˊ', 'gán' },
{ 'ㄍㄤˋ', 'gàng' },
{ 'ㄍㄠˇ', 'gǎo' },
{ 'ㄍㄜˋ', 'gè' },
{ 'ㄍㄟˇ', 'gěi' },
{ 'ㄍㄣ', 'gēn' },
{ 'ㄍㄥ˙', 'geng' },
{ 'ㄍㄨㄥ', 'gōng' },
{ 'ㄍㄡˇ', 'gǒu' },
{ 'ㄍㄨˇ', 'gǔ' },
{ 'ㄍㄨㄚ˙', 'gua' },
{ 'ㄍㄨㄞ˙', 'guai' },
{ 'ㄍㄨㄢˋ', 'guàn' },
{ 'ㄍㄨㄤˋ', 'guàng' },
{ 'ㄍㄨㄟ˙', 'gui' },
{ 'ㄍㄨㄣˇ', 'gǔn' },
{ 'ㄍㄨㄛ˙', 'guo' },
{ 'ㄏㄚ˙', 'ha' },
{ 'ㄏㄞˊ', 'hái' },
{ 'ㄏㄢ', 'hān' },
{ 'ㄏㄤ˙', 'hang' },
{ 'ㄏㄠ˙', 'hao' },
{ 'ㄏㄜˋ', 'hè' },
{ 'ㄏㄟˇ', 'hěi' },
{ 'ㄏㄣˇ', 'hěn' },
{ 'ㄏㄥˇ', 'hěng' },
{ 'ㄏㄨㄥ', 'hōng' },
{ 'ㄏㄡ˙', 'hou' },
{ 'ㄏㄨˇ', 'hǔ' },
{ 'ㄏㄨㄚ', 'huā' },
{ 'ㄏㄨㄞˋ', 'huài' },
{ 'ㄏㄨㄢˋ', 'huàn' },
{ 'ㄏㄨㄤˇ', 'huǎng' },
{ 'ㄏㄨㄟ', 'huī' },
{ 'ㄏㄨㄣˋ', 'hùn' },
{ 'ㄏㄨㄛˋ', 'huò' },
{ 'ㄐㄧˇ', 'jǐ' },
{ 'ㄐㄧㄚ', 'jiā' },
{ 'ㄐㄧㄢˇ', 'jiǎn' },
{ 'ㄐㄧㄤˋ', 'jiàng' },
{ 'ㄐㄧㄠˊ', 'jiáo' },
{ 'ㄐㄧㄝ', 'jiē' },
{ 'ㄐㄧㄣˊ', 'jín' },
{ 'ㄐㄧㄥ˙', 'jing' },
{ 'ㄐㄩㄥˋ', 'jiòng' },
{ 'ㄐㄧㄡˇ', 'jiǔ' },
{ 'ㄐㄩˋ', 'jù' },
{ 'ㄐㄩㄢˋ', 'juàn' },
{ 'ㄐㄩㄝ˙', 'jue' },
{ 'ㄐㄩㄣˋ', 'jùn' },
{ 'ㄎㄚˋ', 'kà' },
{ 'ㄎㄞˇ', 'kǎi' },
{ 'ㄎㄢ', 'kān' },
{ 'ㄎㄤ˙', 'kang' },
{ 'ㄎㄠˋ', 'kào' },
{ 'ㄎㄜ', 'kē' },
{ 'ㄎㄟ˙', 'kei' },
{ 'ㄎㄣ', 'kēn' },
{ 'ㄎㄥ˙', 'keng' },
{ 'ㄎㄨㄥˇ', 'kǒng' },
{ 'ㄎㄡ', 'kōu' },
{ 'ㄎㄨˊ', 'kú' },
{ 'ㄎㄨㄚ˙', 'kua' },
{ 'ㄎㄨㄞ˙', 'kuai' },
{ 'ㄎㄨㄢ˙', 'kuan' },
{ 'ㄎㄨㄤˇ', 'kuǎng' },
{ 'ㄎㄨㄟˇ', 'kuǐ' },
{ 'ㄎㄨㄣ', 'kūn' },
{ 'ㄎㄨㄛˊ', 'kuó' },
{ 'ㄌㄚˇ', 'lǎ' },
{ 'ㄌㄞˊ', 'lái' },
{ 'ㄌㄢˊ', 'lán' },
{ 'ㄌㄤˋ', 'làng' },
{ 'ㄌㄠ', 'lāo' },
{ 'ㄌㄜˇ', 'lě' },
{ 'ㄌㄟ˙', 'lei' },
{ 'ㄌㄣ˙', 'len' },
{ 'ㄌㄥˋ', 'lèng' },
{ 'ㄌㄧ˙', 'li' },
{ 'ㄌㄧㄚˇ', 'liǎ' },
{ 'ㄌㄧㄢˋ', 'liàn' },
{ 'ㄌㄧㄤˊ', 'liáng' },
{ 'ㄌㄧㄠ', 'liāo' },
{ 'ㄌㄧㄝ', 'liē' },
{ 'ㄌㄧㄣ', 'līn' },
{ 'ㄌㄧㄥˋ', 'lìng' },
{ 'ㄌㄧㄡ˙', 'liu' },
{ 'ㄌㄛ˙', 'lo' },
{ 'ㄌㄨㄥˇ', 'lǒng' },
{ 'ㄌㄡˋ', 'lòu' },
{ 'ㄌㄨ˙', 'lu' },
{ 'ㄌㄨㄢ', 'luān' },
{ 'ㄌㄩㄝ', 'lüē' },
{ 'ㄌㄨㄣˋ', 'lùn' },
{ 'ㄌㄨㄛˇ', 'luǒ' },
{ 'ㄌㄩˊ', 'lǘ' },
{ 'ㄇㄚˇ', 'mǎ' },
{ 'ㄇㄞˋ', 'mài' },
{ 'ㄇㄢˇ', 'mǎn' },
{ 'ㄇㄤˇ', 'mǎng' },
{ 'ㄇㄠ', 'māo' },
{ 'ㄇㄜ', 'mē' },
{ 'ㄇㄟˇ', 'měi' },
{ 'ㄇㄣˋ', 'mèn' },
{ 'ㄇㄥ˙', 'meng' },
{ 'ㄇㄧ˙', 'mi' },
{ 'ㄇㄧㄢ', 'miān' },
{ 'ㄇㄧㄠˇ', 'miǎo' },
{ 'ㄇㄧㄝ˙', 'mie' },
{ 'ㄇㄧㄣ˙', 'min' },
{ 'ㄇㄧㄥˇ', 'mǐng' },
{ 'ㄇㄧㄡ˙', 'miu' },
{ 'ㄇㄛˇ', 'mǒ' },
{ 'ㄇㄡˋ', 'mòu' },
{ 'ㄇㄨ˙', 'mu' },
{ 'ㄋㄚ˙', 'na' },
{ 'ㄋㄞ', 'nāi' },
{ 'ㄋㄢ˙', 'nan' },
{ 'ㄋㄤˇ', 'nǎng' },
{ 'ㄋㄠ', 'nāo' },
{ 'ㄋㄜˊ', 'né' },
{ 'ㄋㄟˋ', 'nèi' },
{ 'ㄋㄣˊ', 'nén' },
{ 'ㄋㄥ', 'nēng' },
{ 'ㄋㄧ˙', 'ni' },
{ 'ㄋㄧㄢˇ', 'niǎn' },
{ 'ㄋㄧㄤ', 'niāng' },
{ 'ㄋㄧㄠ', 'niāo' },
{ 'ㄋㄧㄝˊ', 'nié' },
{ 'ㄋㄧㄣˊ', 'nín' },
{ 'ㄋㄧㄥˋ', 'nìng' },
{ 'ㄋㄧㄡ', 'niū' },
{ 'ㄋㄨㄥˇ', 'nǒng' },
{ 'ㄋㄡˋ', 'nòu' },
{ 'ㄋㄨ', 'nū' },
{ 'ㄋㄨㄢ˙', 'nuan' },
{ 'ㄋㄩㄝˇ', 'nüě' },
{ 'ㄋㄨㄣˊ', 'nún' },
{ 'ㄋㄨㄛ', 'nuō' },
{ 'ㄋㄩˊ', 'nǘ' },
{ 'ㄛˋ', 'ò' },
{ 'ㄡ', 'ōu' },
{ 'ㄆㄚˊ', 'pá' },
{ 'ㄆㄞˊ', 'pái' },
{ 'ㄆㄢ˙', 'pan' },
{ 'ㄆㄤˊ', 'páng' },
{ 'ㄆㄠˇ', 'pǎo' },
{ 'ㄆㄟˋ', 'pèi' },
{ 'ㄆㄣ˙', 'pen' },
{ 'ㄆㄥˇ', 'pěng' },
{ 'ㄆㄧ', 'pī' },
{ 'ㄆㄧㄢ', 'piān' },
{ 'ㄆㄧㄠˇ', 'piǎo' },
{ 'ㄆㄧㄝ˙', 'pie' },
{ 'ㄆㄧㄣˇ', 'pǐn' },
{ 'ㄆㄧㄥ', 'pīng' },
{ 'ㄆㄛˋ', 'pò' },
{ 'ㄆㄡˇ', 'pǒu' },
{ 'ㄆㄨ', 'pū' },
{ 'ㄑㄧˋ', 'qì' },
{ 'ㄑㄧㄚˊ', 'qiá' },
{ 'ㄑㄧㄢˇ', 'qiǎn' },
{ 'ㄑㄧㄤ˙', 'qiang' },
{ 'ㄑㄧㄠˇ', 'qiǎo' },
{ 'ㄑㄧㄝˊ', 'qié' },
{ 'ㄑㄧㄣˊ', 'qín' },
{ 'ㄑㄧㄥˊ', 'qíng' },
{ 'ㄑㄩㄥˋ', 'qiòng' },
{ 'ㄑㄧㄡˇ', 'qiǔ' },
{ 'ㄑㄩˇ', 'qǔ' },
{ 'ㄑㄩㄢˊ', 'quán' },
{ 'ㄑㄩㄝˊ', 'qué' },
{ 'ㄑㄩㄣˊ', 'qún' },
{ 'ㄖㄢˇ', 'rǎn' },
{ 'ㄖㄤ˙', 'rang' },
{ 'ㄖㄠ', 'rāo' },
{ 'ㄖㄜˊ', 'ré' },
{ 'ㄖㄣ', 'rēn' },
{ 'ㄖㄥ˙', 'reng' },
{ 'ㄖ', 'rī' },
{ 'ㄖㄨㄥˊ', 'róng' },
{ 'ㄖㄡˇ', 'rǒu' },
{ 'ㄖㄨ˙', 'ru' },
{ 'ㄖㄨㄚˋ', 'ruà' },
{ 'ㄖㄨㄢˊ', 'ruán' },
{ 'ㄖㄨㄟˊ', 'ruí' },
{ 'ㄖㄨㄣˋ', 'rùn' },
{ 'ㄖㄨㄛˋ', 'ruò' },
{ 'ㄙㄚˊ', 'sá' },
{ 'ㄙㄞ', 'sāi' },
{ 'ㄙㄢˊ', 'sán' },
{ 'ㄙㄤ', 'sāng' },
{ 'ㄙㄠˊ', 'sáo' },
{ 'ㄙㄜ', 'sē' },
{ 'ㄙㄣˇ', 'sěn' },
{ 'ㄙㄥˇ', 'sěng' },
{ 'ㄕㄚˊ', 'shá' },
{ 'ㄕㄞ', 'shāi' },
{ 'ㄕㄢ˙', 'shan' },
{ 'ㄕㄤˇ', 'shǎng' },
{ 'ㄕㄠˋ', 'shào' },
{ 'ㄕㄜˋ', 'shè' },
{ 'ㄕㄟˇ', 'shěi' },
{ 'ㄕㄣˇ', 'shěn' },
{ 'ㄕㄥ˙', 'sheng' },
{ 'ㄕˋ', 'shì' },
{ 'ㄕㄡˇ', 'shǒu' },
{ 'ㄕㄨˇ', 'shǔ' },
{ 'ㄕㄨㄚˋ', 'shuà' },
{ 'ㄕㄨㄚˊ', 'shuá' },
{ 'ㄕㄨㄢ', 'shuān' },
{ 'ㄕㄨㄤˊ', 'shuáng' },
{ 'ㄕㄨㄟ', 'shuī' },
{ 'ㄕㄨㄣˇ', 'shǔn' },
{ 'ㄕㄨㄛˋ', 'shuò' },
{ 'ㄙ˙', 'si' },
{ 'ㄙㄨㄥ', 'sōng' },
{ 'ㄙㄡ˙', 'sou' },
{ 'ㄙㄨ', 'sū' },
{ 'ㄙㄨㄢˇ', 'suǎn' },
{ 'ㄙㄨㄟ', 'suī' },
{ 'ㄙㄨㄣ˙', 'sun' },
{ 'ㄙㄨㄛ˙', 'suo' },
{ 'ㄊㄚ˙', 'ta' },
{ 'ㄊㄞˊ', 'tái' },
{ 'ㄊㄢˋ', 'tàn' },
{ 'ㄊㄤˋ', 'tàng' },
{ 'ㄊㄠ', 'tāo' },
{ 'ㄊㄜˋ', 'tè' },
{ 'ㄊㄟˊ', 'téi' },
{ 'ㄊㄥˇ', 'těng' },
{ 'ㄊㄧ˙', 'ti' },
{ 'ㄊㄧㄢˇ', 'tiǎn' },
{ 'ㄊㄧㄠˇ', 'tiǎo' },
{ 'ㄊㄧㄝ˙', 'tie' },
{ 'ㄊㄧㄥ', 'tīng' },
{ 'ㄊㄨㄥ˙', 'tong' },
{ 'ㄊㄡˊ', 'tóu' },
{ 'ㄊㄨˋ', 'tù' },
{ 'ㄊㄨㄢ', 'tuān' },
{ 'ㄊㄨㄟˋ', 'tuì' },
{ 'ㄊㄨㄣ', 'tūn' },
{ 'ㄊㄨㄛˊ', 'tuó' },
{ 'ㄨㄚˋ', 'wà' },
{ 'ㄨㄞˊ', 'wái' },
{ 'ㄨㄢˊ', 'wán' },
{ 'ㄨㄤˊ', 'wáng' },
{ 'ㄨㄟˋ', 'wèi' },
{ 'ㄨㄣˇ', 'wěn' },
{ 'ㄨㄥˇ', 'wěng' },
{ 'ㄨㄛ', 'wō' },
{ 'ㄨ', 'wū' },
{ 'ㄒㄧˋ', 'xì' },
{ 'ㄒㄧㄚˇ', 'xiǎ' },
{ 'ㄒㄧㄢˇ', 'xiǎn' },
{ 'ㄒㄧㄤˋ', 'xiàng' },
{ 'ㄒㄧㄠ', 'xiāo' },
{ 'ㄒㄧㄝ', 'xiē' },
{ 'ㄒㄧㄣ', 'xīn' },
{ 'ㄒㄧㄥˋ', 'xìng' },
{ 'ㄒㄩㄥ˙', 'xiong' },
{ 'ㄒㄧㄡ˙', 'xiu' },
{ 'ㄒㄩˋ', 'xù' },
{ 'ㄒㄩㄢˋ', 'xuàn' },
{ 'ㄒㄩㄝˇ', 'xuě' },
{ 'ㄒㄩㄣ˙', 'xun' },
{ 'ㄧㄚ˙', 'ya' },
{ 'ㄧㄞ˙', 'yai' },
{ 'ㄧㄢˇ', 'yǎn' },
{ 'ㄧㄤˋ', 'yàng' },
{ 'ㄧㄠˋ', 'yào' },
{ 'ㄧㄝ', 'yē' },
{ 'ㄧˇ', 'yǐ' },
{ 'ㄧㄣ˙', 'yin' },
{ 'ㄧㄥ', 'yīng' },
{ 'ㄧㄛˇ', 'yǒ' },
{ 'ㄩㄥˋ', 'yòng' },
{ 'ㄧㄡ', 'yōu' },
{ 'ㄩˇ', 'yǔ' },
{ 'ㄩㄢˊ', 'yuán' },
{ 'ㄩㄝˋ', 'yuè' },
{ 'ㄩㄣˊ', 'yún' },
{ 'ㄗㄚˊ', 'zá' },
{ 'ㄗㄞ˙', 'zai' },
{ 'ㄗㄢˋ', 'zàn' },
{ 'ㄗㄤˇ', 'zǎng' },
{ 'ㄗㄠˇ', 'zǎo' },
{ 'ㄗㄜˇ', 'zě' },
{ 'ㄗㄟˇ', 'zěi' },
{ 'ㄗㄣˇ', 'zěn' },
{ 'ㄗㄥ˙', 'zeng' },
{ 'ㄓㄚ˙', 'zha' },
{ 'ㄓㄞ˙', 'zhai' },
{ 'ㄓㄢ', 'zhān' },
{ 'ㄓㄤˋ', 'zhàng' },
{ 'ㄓㄠˇ', 'zhǎo' },
{ 'ㄓㄜ', 'zhē' },
{ 'ㄓㄟˊ', 'zhéi' },
{ 'ㄓㄣ', 'zhēn' },
{ 'ㄓㄥ˙', 'zheng' },
{ 'ㄓˊ', 'zhí' },
{ 'ㄓㄨㄥ', 'zhōng' },
{ 'ㄓㄡˋ', 'zhòu' },
{ 'ㄓㄨˇ', 'zhǔ' },
{ 'ㄓㄨㄚ', 'zhuā' },
{ 'ㄓㄨㄞ', 'zhuāi' },
{ 'ㄓㄨㄢˇ', 'zhuǎn' },
{ 'ㄓㄨㄤ', 'zhuāng' },
{ 'ㄓㄨㄟ', 'zhuī' },
{ 'ㄓㄨㄣ', 'zhūn' },
{ 'ㄓㄨㄛˋ', 'zhuò' },
{ 'ㄗˇ', 'zǐ' },
{ 'ㄗㄨㄥˋ', 'zòng' },
{ 'ㄗㄡ', 'zōu' },
{ 'ㄗㄨˇ', 'zǔ' },
{ 'ㄗㄨㄢˊ', 'zuán' },
{ 'ㄗㄨㄟˋ', 'zuì' },
{ 'ㄗㄨㄣˊ', 'zún' },
{ 'ㄗㄨㄛ˙', 'zuo' },
}
self:iterate(examples, 'zhuyin_py')
end
function p:test_gwoyeu_romatzyh()
local examples = {
{ 'qīnghǎi','chinghae' },
{ 'fújiàn','fwujiann' },
{ 'guǎngdōng','goangdong' },
{ 'héběi','herbeei' },
{ 'húnán','hwunan' },
{ 'zhèjiāng','jehjiang' },
{ 'nèiménggǔ','neymengguu' },
{ 'shǎnxī','shaanshi' },
{ 'xīnjiāng','shinjiang' },
{ 'xīzàng','shitzanq' },
{ 'sìchuān','syhchuan' },
}
self:iterate(examples, 'gwoyeu')
end
function p:test_tongyong()
local examples = {
{ 'Qīnghǎi', 'Cinghǎi' },
{ 'Fújiàn', 'Fújiàn' },
{ 'Guǎngdōng', 'Guǎngdong' },
{ 'Héběi', 'Héběi' },
{ 'Húnán', 'Húnán' },
{ 'Zhèjiāng', 'Jhèjiang' },
{ 'Nèiménggǔ', 'Nèiménggǔ' },
{ 'Shǎnxī', 'Shǎnsi' },
{ 'Xīnjiāng', 'Sinjiang' },
{ 'Xīzàng', 'Sizàng' },
{ 'Sìchuān', 'Sìhchuan' },
}
self:iterate(examples, 'tongyong')
end
function p:test_py_wg()
local examples = {
{ "a", "a<sup>5</sup>" },
{ "o", "o<sup>5</sup>" },
{ "ê", "eh<sup>5</sup>" },
{ "e", "o<sup>5</sup>" },
{ "ai", "ai<sup>5</sup>" },
{ "ei", "ei<sup>5</sup>" },
{ "ao", "ao<sup>5</sup>" },
{ "ou", "ou<sup>5</sup>" },
{ "an", "an<sup>5</sup>" },
{ "en", "ên<sup>5</sup>" },
{ "ang", "ang<sup>5</sup>" },
{ "eng", "êng<sup>5</sup>" },
{ "er", "êrh<sup>5</sup>" },
{ "yi", "i<sup>5</sup>" },
{ "ye", "yeh<sup>5</sup>" },
{ "you", "yu<sup>5</sup>" },
{ "yan", "yen<sup>5</sup>" },
{ "yin", "yin<sup>5</sup>" },
{ "ying", "ying<sup>5</sup>" },
{ "wu", "wu<sup>5</sup>" },
{ "wo", "wo<sup>5</sup>" },
{ "wei", "wei<sup>5</sup>" },
{ "wen", "wên<sup>5</sup>" },
{ "weng", "wêng<sup>5</sup>" },
{ "ong", "ung<sup>5</sup>" },
{ "yu", "yü<sup>5</sup>" },
{ "yue", "yüeh<sup>5</sup>" },
{ "yuan", "yüan<sup>5</sup>" },
{ "yun", "yün<sup>5</sup>" },
{ "yong", "yung<sup>5</sup>" },
{ "bo", "po<sup>5</sup>" },
{ "po", "pʻo<sup>5</sup>" },
{ "mo", "mo<sup>5</sup>" },
{ "fo", "fo<sup>5</sup>" },
{ "duo", "to<sup>5</sup>" },
{ "tuo", "tʻo<sup>5</sup>" },
{ "nuo", "no<sup>5</sup>" },
{ "luo", "lo<sup>5</sup>" },
{ "feng", "fêng<sup>5</sup>" },
{ "diu", "tiu<sup>5</sup>" },
{ "dui", "tui<sup>5</sup>" },
{ "dun", "tun<sup>5</sup>" },
{ "te", "tʻê<sup>5</sup>" },
{ "nü", "nü<sup>5</sup>" },
{ "lü", "lü<sup>5</sup>" },
{ "ger", "kêrh<sup>5</sup>" },
{ "ge", "ko<sup>5</sup>" },
{ "ke", "kʻo<sup>5</sup>" },
{ "he", "ho<sup>5</sup>" },
{ "guo", "kuo<sup>5</sup>" },
{ "kuo", "kʻuo<sup>5</sup>" },
{ "huo", "huo<sup>5</sup>" },
{ "ji", "chi<sup>5</sup>" },
{ "qi", "chʻi<sup>5</sup>" },
{ "xi", "hsi<sup>5</sup>" },
{ "jian", "chien<sup>5</sup>" },
{ "jiong", "chiung<sup>5</sup>" },
{ "qin", "chʻin<sup>5</sup>" },
{ "xuan", "hsüan<sup>5</sup>" },
{ "zhe", "chê<sup>5</sup>" },
{ "zhi", "chih<sup>5</sup>" },
{ "zhuo", "cho<sup>5</sup>" },
{ "che", "chʻê<sup>5</sup>" },
{ "chi", "chʻih<sup>5</sup>" },
{ "chuo", "chʻo<sup>5</sup>" },
{ "she", "shê<sup>5</sup>" },
{ "shi", "shih<sup>5</sup>" },
{ "shuo", "shuo<sup>5</sup>" },
{ "re", "jê<sup>5</sup>" },
{ "ri", "jih<sup>5</sup>" },
{ "ruo", "jo<sup>5</sup>" },
{ "ze", "tsê<sup>5</sup>" },
{ "zi", "tzŭ<sup>5</sup>" },
{ "zuo", "tso<sup>5</sup>" },
{ "ce", "tsʻê<sup>5</sup>" },
{ "ci", "tzʻŭ<sup>5</sup>" },
{ "cuo", "tsʻo<sup>5</sup>" },
{ "se", "sê<sup>5</sup>" },
{ "si", "ssŭ<sup>5</sup>" },
{ "suo", "so<sup>5</sup>" },
{ "mā", "ma<sup>1</sup>" },
{ "má", "ma<sup>2</sup>" },
{ "mǎ", "ma<sup>3</sup>" },
{ "mà", "ma<sup>4</sup>" },
{ "ma", "ma<sup>5</sup>" },
{ "gui", "kuei<sup>5</sup>" },
{ "kui", "kʻuei<sup>5</sup>" },
}
self:iterate(examples, 'py_wg')
end
function p:test_erhua()
local examples = {
{ "tuō'érsuǒ", "y", "tuō'érsuǒr" },
}
self:iterate(examples, function (self, text, erhua_pos, expected)
-- Third argument and first return value are not needed.
local _, erhua = m_pron.erhua(text, erhua_pos, "托兒所")
self:equals(text, erhua, expected)
end)
end
return p