Module:cmn-pron/sandbox/testcases

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", "a5" }, { "o", "o5" }, { "ê", "eh5" }, { "e", "o5" }, { "ai", "ai5" }, { "ei", "ei5" }, { "ao", "ao5" }, { "ou", "ou5" }, { "an", "an5" }, { "en", "ên5" }, { "ang", "ang5" }, { "eng", "êng5" }, { "er", "êrh5" }, { "yi", "i5" }, { "ye", "yeh5" }, { "you", "yu5" }, { "yan", "yen5" }, { "yin", "yin5" }, { "ying", "ying5" }, { "wu", "wu5" }, { "wo", "wo5" }, { "wei", "wei5" }, { "wen", "wên5" }, { "weng", "wêng5" }, { "ong", "ung5" }, { "yu", "yü5" }, { "yue", "yüeh5" }, { "yuan", "yüan5" }, { "yun", "yün5" }, { "yong", "yung5" }, { "bo", "po5" }, { "po", "pʻo5" }, { "mo", "mo5" }, { "fo", "fo5" }, { "duo", "to5" }, { "tuo", "tʻo5" }, { "nuo", "no5" }, { "luo", "lo5" }, { "feng", "fêng5" }, { "diu", "tiu5" }, { "dui", "tui5" }, { "dun", "tun5" }, { "te", "tʻê5" }, { "nü", "nü5" }, { "lü", "lü5" }, { "ger", "kêrh5" }, { "ge", "ko5" }, { "ke", "kʻo5" }, { "he", "ho5" }, { "guo", "kuo5" }, { "kuo", "kʻuo5" }, { "huo", "huo5" }, { "ji", "chi5" }, { "qi", "chʻi5" }, { "xi", "hsi5" }, { "jian", "chien5" }, { "jiong", "chiung5" }, { "qin", "chʻin5" }, { "xuan", "hsüan5" }, { "zhe", "chê5" }, { "zhi", "chih5" }, { "zhuo", "cho5" }, { "che", "chʻê5" }, { "chi", "chʻih5" }, { "chuo", "chʻo5" }, { "she", "shê5" }, { "shi", "shih5" }, { "shuo", "shuo5" }, { "re", "jê5" }, { "ri", "jih5" }, { "ruo", "jo5" }, { "ze", "tsê5" }, { "zi", "tzŭ5" }, { "zuo", "tso5" }, { "ce", "tsʻê5" }, { "ci", "tzʻŭ5" }, { "cuo", "tsʻo5" }, { "se", "sê5" }, { "si", "ssŭ5" }, { "suo", "so5" }, { "mā", "ma1" }, { "má", "ma2" }, { "mǎ", "ma3" }, { "mà", "ma4" }, { "ma", "ma5" }, { "gui", "kuei5" }, { "kui", "kʻuei5" }, }	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