Module:izh-pronunciation/testcases

local tests = require "Module:UnitTests" local m_izh = require "Module:izh-pronunciation"

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

local function tag_IPA(transcription) return ' ' .. transcription .. ' ' end

local function to_IPA(variety_code, form) local result = m_izh.generate_one(form, variety_code) return "/" .. result.broad .. "/, [" .. result.narrow .. "]" end

function tests:test_phonetic local examples = { { "A", "koira", nil, "/ˈkoi̯rɑ/, [ˈko̞i̯r]" }, { "S", "koira", nil, "/ˈkoi̯rɑ/, [ˈko̞i̯rɑ]" }, { "A", "maata", "ma.ata", "/ˈmɑ.ɑtɑ/, [ˈmɑ.ɑt]" }, { "S", "maata", "ma.ata", "/ˈmɑ.ɑtɑ/, [ˈmɑ.ɑd̥ɑ]" }, { "A", "eno", nil, "/ˈeno/, [ˈe̞no̞]" }, { "S", "eno", "enoj", "/ˈenoi̯/, [ˈe̞no̞i̯]" }, { "A", "syän", nil, "/ˈsyæn/, [ˈs̠yæn]" }, { "S", "syän", nil, "/ˈsyæn/, [ˈʃyæn]" }, { "A", "paljo", nil, "/ˈpɑljo/, [ˈpɑlʲːŏ̞̥]" }, { "S", "paljo", nil, "/ˈpɑljo/, [ˈpɑlʲjo̞]" }, { "A", "valkia", nil, "/ˈʋɑlkiɑ/, [ˈʋɑɫke̞]" }, { "S", "valkia", nil, "/ˈʋɑlkiɑ/, [ˈʋɑɫkiɑ]" }, { "A", "näyttää", nil, "/ˈnæy̯tːæː/, [ˈnæy̯tːæ]" }, { "S", "näyttää", nil, "/ˈnæy̯tːæː/, [ˈnæy̯tːæː]" }, { "A", "leikata", "leikata", "/ˈlei̯kɑtɑ/, [ˈlʲe̞i̯kət]" }, { "S", "leikata", "leikata", "/ˈlei̯kɑtɑ/, [ˈle̞i̯ɡ̊ɑd̥ɑ]" }, { "A", "toest", "toesta", "/ˈtoestɑ/, [ˈto̞e̞s̠t]" }, { "S", "toest", nil, "/ˈtoest/, [ˈto̞e̞ʃt]" }, { "A", "latva", nil, "/ˈlɑtʋɑ/, [ˈɫɑtʋ]" }, { "S", "latva", nil, "/ˈlɑtʋɑ/, [ˈɫɑd̥ʋɑ]" }, { "A", "merkitös", nil, "/ˈmerkitøs/, [ˈme̞rkĭtø̞̆z̠]" }, { "S", "merkitös", nil, "/ˈmerkitøs/, [ˈme̞rɡ̊id̥ø̞ʒ̥]" }, { "A", "merkitsömmiin", "merkitsömine", "/ˈmerkit͡sømine/, [ˈme̞rkĭˌt͡s̠ø̞min]" }, { "S", "merkitsömmiin", "merkitsömiin", "/ˈmerkit͡sømiːn/, [ˈme̞rɡ̊iˌt͡sø̞mˑiːn]" }, { "A", "metsä", nil, "/ˈmet͡sæ/, [ˈme̞t͡s̠]" }, { "S", "metsä", nil, "/ˈmet͡sæ/, [ˈme̞t͡sæ]" }, { "A", "Uus Voos", nil, "/ˈuːs ˈʋoːs/, [ˈuːz̠ ˈʋoːz̠]" }, { "S", "Uus Voos", nil, "/ˈuːs ˈʋoːs/, [ˈuːʒ ˈʋo̝ːʒ̥]" }, { "A", "iloistaa", "ilojstaa", "/ˈiloi̯stɑː/, [ˈiɫo̞i̯s̠tɑ]" }, { "S", "iloistaa", "ilojstaa", "/ˈiloi̯stɑː/, [ˈiɫo̞i̯ʃtɑː]" }, { "A", "hapukoitella", "hapukojtella", "/ˈhɑpukoi̯telːɑ/, [ˈhɑpuˌko̞i̯te̞ɫː]" }, { "S", "hapukoitella", "hapukojtella", "/ˈhɑpukoi̯telːɑ/, [ˈhɑb̥uˌɡ̊o̞i̯d̥e̞ɫːɑ]" }, { "A", "epästyä", "epäst'yä", "/ˈepæstyæ/, [ˈe̞pæs̠ˌtʲyæ]" }, { "S", "epästyä", "epäst'yä", "/ˈepæstyæ/, [ˈe̞b̥æʃˌtyæ]" }, { "A", "Valja", "Valj'a", "/ˈʋɑlʲɑ/, [ˈʋɑlʲɑ]" }, { "S", "Valja", "Valj'a", "/ˈʋɑlʲɑ/, [ˈʋɑlʲɑ]" }, { "A", "guljaittaa", "gulj'aittaa", "/ˈɡulʲɑi̯tːɑː/, [ˈɡulʲːətːɑ]" }, { "S", "guljaittaa", "gulj'aittaa", "/ˈɡulʲɑi̯tːɑː/, [ˈkulʲˑɑi̯tːɑː]" }, { "A", "rublja", "rublj'a", "/ˈrublʲɑ/, [ˈrublʲ]" }, { "S", "rublja", "rublj'a", "/ˈrublʲɑ/, [ˈrub̥lʲɑ]" }, { "A", "vaaliamp", "vaaliampi", "/ˈʋɑːliɑmpi/, [ˈʋɑːlʲe̞mpʲ]" }, { "S", "vaaliamp", "vaaliamp", "/ˈʋɑːliɑmp/, [ˈʋɑːliɑmb̥]" }, { "A", "levviämp", "leviämpi", "/ˈleʋiæmpi/, [ˈlʲe̞ʋːe̞mpʲ]" }, { "S", "levviämp", "leviämp", "/ˈleʋiæmp/, [ˈle̞ʋˑiæmb̥]" }, { "A", "sikiäin", "siki.äjne", "/ˈsiki.æi̯ne/, [ˈs̠iki.əi̯n]" }, { "S", "sikiäin", "siki.äin", "/ˈsiki.æi̯n/, [ˈʃiɡ̊i.æi̯n]" }, { "A", "sukulain", "sukulajne", "/ˈsukulɑi̯ne/, [ˈs̠ukuɫəi̯n]" }, { "S", "sukulain", "sukulain", "/ˈsukulɑi̯n/, [ˈʃuɡ̊uɫɑi̯n]" }, { "A", "utjuga", "utj'uga", "/ˈutʲuɡɑ/, [ˈutʲuɡ]" }, { "S", "utjuga", "utj'uuga", "/ˈutʲuːɡɑ/, [ˈutʲˑuːɡ̊ɑ]" }, { "A", "yksslogain", "yks-slogajne", "/ˈyksˌsloɡɑi̯ne/, [ˈyks̠ˌs̠ɫo̞ɡɑi̯n]" }, { "S", "yksslogain", "yks-slogain", "/ˈyksˌsloɡɑi̯n/, [ˈykʃˌʃɫo̞kˑɑi̯n]" }, { "A", "varajooni", nil, "/ˈʋɑrɑjoːni/, [ˈʋɑrɑjo̞nʲ]" }, { "S", "varajooni", nil, "/ˈʋɑrɑjoːni/, [ˈʋɑrɑˌjo̝ːni]" }, { "A", "hyle", nil, "/ˈhyle/, [ˈhylʲe̞]" }, { "S", "hyle", nil, "/ˈhyle/, [ˈhyle̞]" }, { "S", "liitsatoin", "liitsato/in", "/ˈliːt͡sɑtoi̯n/, [ˈlʲiːt͡sɑd̥o̞i̯n]" }, { "A", "taanolliin", "taanolline", "/ˈtɑːnolːine/, [ˈtɑːnŏ̞lʲˌlʲine̞]" }, }	local options = { display = tag_IPA } self:iterate(examples,		function (self, variety_code, term, respelling, expected)			self:equals( link_izh(term) .. (respelling and " ( " .. respelling .. " )" or "") .. " (" .. m_izh.get_variety(variety_code) .. ")", to_IPA(variety_code, respelling or term), expected, options)		end) end

return tests