Module:Bopo-convert/testcases

-- Unit tests for Module:Bopo-convert. Refresh page to run tests. local tests = require('Module:UnitTests') local m_Bopo_convert = require('Module:Bopo-convert')

function tests:check_convert(bopomofo, pinyin) self:equals(' ' .. bopomofo .. ' ', m_Bopo_convert.Bopo_to_pinyin(bopomofo, 'cmn', 'Hani'), pinyin) end

function tests: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, "check_convert") end return tests