local tests = require("Module:UnitTests")
local translit = require("Module:tru-translit")

local full_link = require("Module:links").full_link
local lang = require("Module:languages").getByCode("tru")

local function link(word)
	return full_link{ term = word, lang = lang, tr = "-" }
end

function tests:do_test_translit(word, expected)
	self:equals(link(word), translit.tr(word, lang , "Syrc"), expected)
end

function tests:test_translit()
	local examples = {
		{ "ܐܰܕܡܐ", "admo" },
		{ "ܐܰܒܪܐ", "abro" },
		{ "ܐܰܕ݂ܢܐ", "aḏno" },
		{ "ܐܷܫܬܐ", "ëšto"},
		{ "ܫܰܘܥܐ", "šawco"},
		{ "ܬܡܰܢܝܐ", "tmanyo"},
		{ "ܬܷܫܥܐ", "tëšco"},
		{ "ܚܰܡܫܐ", "ḥamšo"},
		{ "ܐܰܪܒܥܐ", "arbco"},
		{ "ܬܠܳܬ݂ܐ", "tloṯo"},
		{ "ܬܪܶܐ", "tre"},
		{ "ܚܰܐ", "ḥa"},
		{ "ܬܡܝܢܳܝܐ", "tminoyo"},
		{ "ܕܰܬ ܬܡܰܢܝܐ", "dat tmanyo"},
		{ "ܬܡܳܢܰܥܣܰܪ", "tmonacsar"},
		{ "ܐܰܕܥܰܨܪܝـܝܶܐ", "adcaṣriye"},
		{ "ܐܰܕܠܰܠܝܐ", "adlalyo"},
		{ "ܐܰܕܨܰܦܪܐ", "adṣafro"},
		{ "ܐܰܕܝܰܘܡܰܐ", "adyawma"},
		{ "ܐܰܬ݂ܡܷܠ", "aṯmël"},
		{ "ܐܰܬ݂ܝܳܢܐ", "aṯyono"},
		{ "ܐܰܙܙܝ", "azzi"},
		{ "ܒܰܛܝܠܶܐ ܢܶܐ", "baṭile ne"},
		{ "ܒܢܳܝܐ", "bnoyo"},
		{ "ܕܰܪܓ݂ܶܐ", "darġe"},
		{ "ܕܘܥܪܝܢܰܐ", "ducrina" },
		{ "ܕܘܪܳܫܶܐ ܓܘܫܡܳܢܳܝܶܐ", "duroše gušmonoye" },
		{ "ܦܰܠܩܐ", "falqo" },
		{ "ܠܰܫܰܢ", "lašan"},
		{ "ܡܶܐ ܙܰܒܢܐ ܠܙܰܒܢܐ", "me zabno lzabno"},
		{ "ܩܷܛܪܐ", "qëṭro"},
		{ "ܣܚܳܝܐ", "sḥoyo"},
		{ "ܬܰܡܐ", "tamo"},
		{ "ܘܰܥܕܐ", "wacdo"},
		{ "ܙܰܒܢܐ", "zabno"},
		{ "ܢܚܝܪܐ", "nḥiro"},
		{ "ܢܳܫܐ", "nošo"},
		{ "ܪܝܫܐ", "rišo"},
		{ "ܫܰܒܬ݂ܐ", "šabṯo"},
		{ "ܐܘܥܕܐ", "ucdo"},
		{ "ܘܳܠܝܬ݂ܐ", "woliṯo"},
		{ "ܙܥܘܪܐ", "zcuro"},
		{ "ܙܥܘܪܬܐ", "zcurto"},
		{ "ܕܰܫܷܫܬܐ", "dašëšto"},
		{ "ܥܷܢܘܶܐ", "cënwe"},
		{ "ܨܷܪܬܐ", "ṣërto"},
		{ "ܘܰܟ݂ܰܡ", "waxam"},
		{ "ܙܷܒܕܐ", "zëbdo"},
	}
	
	self:iterate(examples, "do_test_translit")
end
 
return tests