Module:User:AmazingJus/mn/testcases

local tests = require('Module:UnitTests') local m_IPA = require('Module:User:AmazingJus/mn')

local mn = require('Module:languages').getByCode('mn') local full_link = require('Module:links').full_link local function link(text) return full_link { term = text, lang = mn } end

local tag_text = require('Module:script utilities').tag_text local function tag(text) return tag_text(text, mn) end

function tests:test_phonemic_IPA local testcases = { { 'авто́бус', 'afˈtʰɔpʊs' }, { 'ай', 'ˈai̯' }, { 'аргалаа', 'arɢəˈɮa' }, { 'ая', 'ˈaj' }, { 'хонх', 'ˈxɔŋx' }, { 'баг', 'ˈpaɡ' }, { 'бага', 'ˈpaɢ' }, { 'борви', 'ˈpɔrʲəwʲ' }, { 'Будда~', 'pʊtˈta' }, { 'Будда́', 'pʊtˈta' }, { 'галуу', 'ɢaˈɮʊ' }, { 'ежен', 'ˈjet͡ɕəŋ' }, { 'коммерса́нт', 'kʰɔmirˈsantʰ' }, { 'лхагва', 'ˈɬaɢʷ' }, { 'мэргэжилтэн', 'ˈmerəɢt͡ɕəɮtʰəŋ' }, { 'монгол хэл', 'ˈmɔnɢəɮ xeɮ' }, { 'нутаг', 'ˈnʊtʰəɡ' }, { 'оньс', 'ˈɔnʲs' }, { 'сайн', 'ˈsai̯ŋ' }, { 'сайн байна уу', 'sai̯ŋ pai̯n ˈʊː' }, { 'салхи', 'ˈsaɮʲxʲ' }, { 'сармагчин', 'ˈsarməɡt͡ɕʰəŋ' }, { 'тагт', 'ˈtʰaɢtʰ' }, { 'таг*т', 'ˈtʰaɡtʰ' }, { 'такси́', 'tʰakʰˈsʲi' }, { 'тийм', 'ˈtʲʰiːm' }, { 'хаалга', 'ˈxaːɮəɢ' }, { 'хиам', 'ˈxʲaːm' }, { 'хонх', 'ˈxɔŋx' }, { 'цонх', 'ˈt͡sʰɔŋx' }, { 'шуу', 'ˈʃʊː' }, { 'ууртайгаар', 'ʊːrˈtʰai̯ɢar' }, { 'уйтгартай', 'ˈʊi̯tʰɢərtʰai̯' }, { 'юул', 'ˈjʊːɮ' }, { 'энэ', 'ˈin' }, { 'эрдэнэ', 'ˈirtən' }, { 'Эрдэнэт', 'ˈirtəntʰ' }, { 'Өргөдөл', 'ˈorəɢtəɮ' }, { 'хөшөөт', 'xoˈʃotʰ' } }

local options = { display = function(IPA) return ' /' .. IPA .. '/ '		end }	self:iterate(testcases, function(self, term, IPA, respelling)		local term_display = link(term)

if respelling then term_display = term_display .. ' respelled as "' .. tag(respelling) .. '"' end

self:equals(term_display, m_IPA.toIPA(respelling or term), IPA, options) end) end

return tests