Module:pl-pronunciation/testcases

local tests = require "Module:UnitTests" local ipa = require "Module:pl-IPA".convert_to_IPA local hyph = require "Module:pl-pronunciation".generate_hyphenation local rhyme = require "Module:pl-pronunciation".generate_rhyme

local function link_pl(term) return ' " .. term .. ' ' end

local function fmtsyl(syllables) return table.concat(syllables, ".") end

local function generate(term, otitle) return { fmtsyl(hyph(term, otitle) or { " " }) or "", rhyme(ipa(term)) or "" } end

function tests:test_module --		{ word, respelling, { syllables, rhyme } } local examples = { { "akcyza", nil, { "ak.cy.za", "ɨza" } }, { "przestrzegać", "prze'strze.gać", { "prze.strze.gać", "ɛɡat͡ɕ" } }, { "przeświadczyć", "prze'świad.czyć", { "prze.świad.czyć", "att͡ʂɨt͡ɕ" } }, { "skontaminować", nil, { "skon.ta.mi.no.wać", "ɔvat͡ɕ" } }, { "aklimatyzować", nil, { "ak.li.ma.ty.zo.wać", "ɔvat͡ɕ" } }, { "klacz", nil, { "klacz", "at͡ʂ" } }, { "odrzut", nil, { "od.rzut", "ɔdʐut" } }, { "zupa", nil, { "zu.pa", "upa" } }, { "przeżytek", nil, { "prze.ży.tek", "ɨtɛk" } }, { "awers", nil, { "a.wers", "avɛrs" } }, { "abażur", nil, { "a.ba.żur", "aʐur" } }, { "haczyk", nil, { "ha.czyk", "at͡ʂɨk" } }, { "różdżka", nil, { "róż.dżka", "uʂt͡ʂka" } }, { "będąc", nil, { "bę.dąc", "ɛndɔnt͡s" } }, { "względnie", nil, { "względ.nie", "ɛndɲɛ" } }, { "bezwzględnie", nil, { "bez.względ.nie", "ɛndɲɛ" } }, { "łódka", nil, { "łód.ka", "utka" } }, { "także", nil, { "tak.że", "aɡʐɛ" } }, { "jakby", nil, { "jak.by", "aɡbɨ" } }, { "krzak", nil, { "krzak", "ak" } }, { "odtworzyć", nil, { "od.two.rzyć", "ɔʐɨt͡ɕ" } }, { "wytworzyć", "wy'two.rzyć", { "wy.two.rzyć", "ɔʐɨt͡ɕ" } }, { "kawka", nil, { "kaw.ka", "afka" } }, { "wybór", nil, { "wy.bór", "ɨbur" } }, { "rząd", nil, { "rząd", "ɔnt" } }, { "wagary", nil, { "wa.ga.ry", "arɨ" } }, { "naukowiec", "na.u'ko.wiec", { "na.u.ko.wiec", "ɔvjɛt͡s" } }, { "dżawa", nil, { "dża.wa", "ava" } }, { "zaawansowany", nil, { "za.a.wan.so.wa.ny", "anɨ" } }, { "powstrzymać", nil, { "pow.strzy.mać", "ɨmat͡ɕ" } }, { "babski", nil, { "bab.ski", "apski" } }, { "suchokwiat", "su'cho.kwiat", { "su.cho.kwiat", "ɔkfjat" } }, { "zewnętrzny", nil, { "zew.nęt.rzny", "ɛntʂnɨ" } }, { "bank", nil, { "bank", "aŋk" } }, { "okienko", nil, { "o.kien.ko", "ɛŋkɔ" } }, { "panienka", nil, { "pa.nien.ka", "ɛŋka" } }, { "bolonka", nil, { "bo.lon.ka", "ɔŋka" } }, { "zapach", nil, { "za.pach", "apax" } }, { "deszczyć", nil, { "desz.czyć", "ɛʂt͡ʂɨt͡ɕ" } }, { "wietrzyć", nil, { "wiet.rzyć", "ɛtʂɨt͡ɕ" } }, { "powiedz", nil, { "po.wiedz", "ɔvjɛt͡s" } }, { "odpowiedź", nil, { "od.po.wiedź", "ɔvjɛt͡ɕ" } }, { "odpowiedz", nil, { "od.po.wiedz", "ɔvjɛt͡s" } }, { "deszcz", nil, { "deszcz", "ɛʂt͡ʂ" } }, { "Mariusz", nil, { "Ma.riusz", "arjuʂ" } }, { "niż", nil, { "niż", "iʂ" } }, { "nisz", nil, { "nisz", "iʂ" } }, { "bóg", nil, { "bóg", "uk" } }, { "buk", nil, { "buk", "uk" } }, { "zmrok", nil, { "zmrok", "ɔk" } }, { "smog", nil, { "smog", "ɔk" } }, { "smok", nil, { "smok", "ɔk" } }, { "absentować", nil, { "ab.sen.to.wać", "ɔvat͡ɕ" } }, { "chwiać", nil, { "chwiać", "at͡ɕ" } }, { "objąć", nil, { "ob.jąć", "ɔbjɔɲt͡ɕ" } }, { "obiad", nil, { "o.biad", "ɔbjat" } }, { "adiustacyjny", "adjustacyjny", { "ad.ius.ta.cyj.ny", "ɨjnɨ" } }, { "adiunkt", "adjunkt", { "ad.iunkt", "adjuŋkt" } }, { "mediować", "medjować", { "med.io.wać", "ɔvat͡ɕ" } }, { "kartauna", "kar'tau.na", { "kar.tau.na", "awna" } } }	self:iterate(examples,		function (self, term, respelling, expected)			self:equals_deep( link_pl(term), generate(respelling or term, term), expected, options)		end) end

return tests