Module:mch-IPA/testcases

local tests = require("Module:UnitTests") local to_IPA = require("Module:mch-IPA").to_IPA

local lang = require("Module:languages").getByCode("mch") local Latin = require("Module:scripts").getByCode("Latn")

local function link(term) return require("Module:links").full_link{ term = term, lang = lang, sc = Latin } end

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

function tests:check_output(term, expected) tests:equals(		link(term),		to_IPA(term),		expected,		{ display = tag_IPA }	) end

function tests:test_all local list = { "Vowel length", { "jüü", "[hʷɨː]" }, { "kushi", "[kuʃi]" }, { "nuunö", "[nuːnə]" }, { "unwaa", "[uŋwaː]" }, { "adima", "[aɾ̠iːma]" }, { "ayawa", "[ajaːwa]" }, { "sadodo", "[saɾ̠oːɾ̠o]" }, { "adonka", "[aɾ̠oŋka]" }, { "aichudi", "[ajt͡ʃuɾ̠i]" }, { "oonuku", "[oːnuku]" }, { "komomüdü", "[komoːmɨɾ̠ɨ]" }, { "anadeke", "[anaːɾ̠eke]" }, { "tüdüemü", "[tɨɾ̠ɨːemɨ]" }, { "tojodüe", "[tohʷoːɾ̠ɨe]" }, { "chööjüdü", "[t͡ʃəːhɨɾ̠ɨ]" }, { "chööjüdüjüdü", "[t͡ʃəːhɨɾ̠ɨːhɨɾ̠ɨ]" }, { "juuwakadö", "[hʷuːwakaːɾ̠ə]" }, { "dadiweyudu", "[daɾ̠iːwejuːɾ̠u]" }, { "kadakadadi", "[kaɾ̠aːkaɾ̠aːɾ̠i]" }, { "aichudi edajö", "[ajt͡ʃuɾ̠i eɾ̠aːhə]" }, { "tüwe'mojo'e", "[tɨweʔmohʷoʔe]" }, { "Sedumeyanadi", "[seɾ̠uːmejaːnaɾ̠i]" }, --six or more open syllables in a row do not work correctly { "wesuwadakadawö", "[wesuːwaɾ̠aːkaɾ̠aːwə]" }, "Forms of j", { "oneja", "[oneːha]" }, { "jhumma", "[çumma]" }, { "koijai", "[kojçaj]" }, { "dijushi", "[diçuːʃi]" }, { "ku'jö", "[kuʔhʷə]" }, { "ji'jö", "[hʷiʔçə]" }, { "ja'dötöme", "[hʷaʔdətəːme]" }, { "ta'jujuñe", "[taʔhʷuhʷuːɲe]" }, { "-joi", "[-hoj]" }, { "ekamjiyaka", "[ekamm̥ijaːka]" }, { "jadii_jadi", "[hʷaɾ̠iːhʷaɾ̠i]" }, "Forms of y and i", { "oy-", "[oj-]" }, { "ka'ya", "[kaʔɟa]" }, { "ye'kwana", "[ɟeʔkʷana]" }, { "o'joiye", "[oʔhʷojje]" }, "Forms of w and u", { "se'wadö", "[seʔwaɾ̠ə]" }, { "sawiya", "[saviːja]" }, { "shii awono ökato", "[ʃiː aβoːno əkaːto]" }, { "audaajö", "[awɾ̠ʷaːhə]" }, { "ta'kwañe", "[taʔkʷaɲe]" }, "Forms of n", { "nwawö", "[ŋwawə]" }, { "nñanno", "[nɲanno]" }, { "unke'ka", "[uŋkeʔka]" }, { "nün'e", "[nɨŋŋe]" }, { "pan", "[paŋ]" }, "Forms of d", { "dawade", "[dawaːɾ̠e]" }, { "sa'da'da", "[saʔdaʔda]" }, { "öddaajö", "[əddaːhə]" }, { "audaajö edemi'jüdü", "[awɾ̠ʷaːhə eɾ̠eːmiʔçɨɾ̠ɨ]" }, { "ödhajö", "[əðaːhə]" }, { "dhanwa", "[ðaŋwa]" }, { "a_d-", "[ad-]" }, "Complex geminates", { "össha", "[əʃʃa]" }, { "accha", "[att͡ʃa]" }, } --	Additions take this form –		{ "word", "IPA" },		{ "", "" },	Make sure to include the comma, or the module will return an error. self:iterate(list, "check_output") end

return tests