Module:User:AmazingJus/af/testcases

From Wiktionary, the free dictionary
Jump to navigation Jump to search

This is a private module sandbox of AmazingJus, for his own experimentation. Items in this module may be added and removed at AmazingJus's discretion; do not rely on this module's stability.


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

local function tag_IPA(IPA)
	return '<span class="IPA">' .. IPA .. '</span>'
end

local list = {
	{ "Afrika", "A‧fri‧ka", "ˈɑː.fri.ka" },
	{ "Afrikaans", "A‧fri‧kaans", "ˌa.friˈkɑ̃ːs, ˌa.friˈkɑːns" },
	{ "Afrikaner", "A‧fri‧ka‧ner", "ˌa.friˈkɑː.nər" },
	{ "Amerikaner", "A‧me‧ri‧ka‧ner", "aˌmɪə̯.riˈkɑː.nər" },
	{ "André", "An‧dré", "ˈan.drəɪ̯" },
	{ "asyn", "a‧syn", "aˈsəɪ̯n" },
	{ "belangrik", "be‧lang‧rik", "bəˈlaŋ.rək" },
	{ "berg", "berg", "ˈbɛrχ" },
	{ "berge", "ber‧ge", "ˈbɛr.ɡə" },
	{ "berg+reeks", "berg‧reeks", "ˈbɛrχ.rɪə̯ks" },
	{ "bos+bedryf", "bos‧be‧dryf", "ˈbɔs.bəˌdrəɪ̯f" },
	{ "beskou", "be‧skou", "bəˈskœʊ̯" },
	{ "beter", "be‧ter", "ˈbɪə̯.tər" },
	{ "beton", "be‧ton", "bəˈtɔn" },
	{ "betoon", "be‧toon", "bəˈtʊə̯n" },
	{ "Botha", "Bo‧tha", "ˈbʊə̯.ta" },
	{ "braai", "braai", "brɑːɪ̯" },
	{ "Coetzee", "Coet‧zee", "kutˈseə̯" },
	{ "Coetzer", "Coet‧zer", "ˈkut.sər" },
	{ "dokumentasie", "do‧ku‧men‧ta‧sie", "ˌdɔ.kju.mɛnˈtɑː.si, ˌdɔ.ky.mɛnˈtɑː.si" },
	{ "du Plessis", "du Ples‧sis", "dy.pləˈsi" },
	{ "eggo", "eg‧go", "ˈɛ.χu" },
	{ "feste", "fes‧te", "ˈfɛs.tə" },
	{ "geëet", "ge‧eet", "χəˈɪə̯t" },
	{ "gegee", "ge‧gee", "χəˈχɪə̯" },
	{ "ghitaar", "ghi‧taar", "ɡiˈtɑːr" },
	{ "hondjie", "hon‧djie", "ˈɦœi̯ɲ.ci" },
	{ "Jean Pierre", "Jean Pierre", "anˈpiːr" }, -- respell as "An Pier"
	{ "Johannesburg", "Jo‧han‧nes‧burg", "jʊə̯ˈɦa.nəsˌbœrχ" },
	{ "karretjie", "kar‧re‧tjie", "ˈka.rəi̯.ci" },
	{ "klu[b]", "klub", "klab, klœb" },
	{ "le Gran.ge", "le Gran‧ge", "ləˈχran.si" }, -- respell as "le Gransie"
	{ "Macedonië", "Ma‧ce‧do‧ni‧e", "ˌma.səˈdʊə̯.ni.ə" },
	{ "Nortje", "Nor‧tje", "nɔrˈkɪə̯" },
	{ "'n", "'n", "ə(n)" },
	{ "onweer", "on‧weer", "ˈɔn.vɪə̯r" },
	{ "omstandigheid", "om‧stan‧dig‧heid", "ɔmˈstan.dəχˌɦəɪ̯t" },
	{ "Paraguay", "Pa‧ra‧guay", "ˈpa.ra.ɡwaɪ̯" },
	{ "Pretoria", "Pre‧to‧ri‧a", "prəˈtʊə̯.ri.a" },
	{ "Schalk", "Schalk", "skalk" },
	{ "sjokolade", "sjo‧ko‧la‧de", "ˌʃɔ.kɔˈlɑː.də" },
	{ "s'n", "s'n", "sən" },
	{ "spieël", "spie‧el", "spiːl" },
	{ "Suid-Afrika", "Suid-‧A‧fri‧ka", "səɪ̯tˈɑː.fri.ka" },
	{ "vanaand", "va‧naand", "fəˈnɑːnt" },
	{ "Venesië", "Ve‧ne‧si‧e", "vəˈniː.si.ə" },
	{ "vinger", "ving‧er", "ˈfəŋ.ər" },
	{ "wîe", "wî‧e", "ˈvəː.(ɦ)ə" },
	{ "zero", "ze‧ro", "ˈzɪə̯.ru" }
}

function tests:test_hyphen()
	for _, item in ipairs(list) do
		local term, expected = item[1], item[2]
		local result = m_IPA.hyphenation(term)
		self:equals(term, result, expected)
	end
end

function tests:test_pron()
	for _, item in ipairs(list) do
		local term, expected = item[1], item[3]
		local result = m_IPA.toIPA(term)
		self:equals(term, tag_IPA(result), tag_IPA(expected))
	end
end

return tests