Module:User:Julien Daux/nv-module/testcases

local tests = require('Module:UnitTests') local m_conj = require('Module:User:Julien Daux/nv-module')

local testcases = { ["impf|disj=chʼí|ni|Ø|maas"]="chʼínísmaas chʼíniiʼmaas chʼídaniiʼmaas chʼínímaas chʼínóhmaas chʼídanohmaas chʼémaas chʼídaamaas chʼíjímaas chʼídajímaas",

["impf|disj=chʼí|ni|ł|maas|obj=y"]= "chʼínísmaas chʼíniilmaas chʼídaniilmaas chʼíníłmaas chʼínółmaas chʼídanołmaas chʼííłmaas chʼídeíłmaas chʼíjíłmaas chʼídajíłmaas",

["impf|disj=chʼí|ni|d|tʼááh"]="chʼíníshtʼááh chʼíniitʼááh chʼídaniitʼááh chʼínítʼááh chʼínóhtʼááh chʼídanohtʼááh chʼétʼááh chʼídaatʼááh chʼíjítʼááh chʼídajítʼááh",

["impf|disj=chʼí|ni|ł|zóód"]="chʼínísóód chʼíniilzóód chʼídaniilzóód chʼínísóód chʼínóhsóód chʼídanohsóód chʼésóód chʼídaasóód chʼíjísóód chʼídajísóód",

["impf|disj=so|conj=di|Ø|l|zin"]="sodiszin sodiilzin sodadiilzin sodílzin sodołzin sodadołzin sodilzin sodadilzin sozhdilzin sodazhdilzin",

["impf|Ø|Ø|cha"]="yishcha yiicha deiicha nicha wohcha daohcha yicha daacha jicha dajicha",

["impf|disj=na|Ø|l|nish"]="naashnish neiilnish nideiilnish nanilnish naołnish nidaołnish naalnish nidaalnish nijilnish nidajilnish",

["impf|Ø|ł|béésh|obj=y"]="yishbéésh yiilbéésh deiilbéésh niłbéésh wołbéésh daołbéésh yiłbéésh deiłbéésh jiłbéésh dajiłbéésh", ["impf|Ø|obj=a|ł|wosh"]="ashhosh iilwosh daʼiilwosh íłhosh ołhosh daʼołhosh ałhosh daʼałhosh ajiłhosh daʼjiłhosh",

["impf|conj=di|obj=a|Ø|ł|ghash"]="adishhash adiilghash daʼdiilghash adíłhash adołhash daʼdołhash adiłhash daʼdiłhash azhdiłhash dazhʼdiłhash",

["impf|Ø|obj=ho|l|neʼ"]="hashneʼ hwiilneʼ dahwiilneʼ hólneʼ hołneʼ dahołneʼ halneʼ dahalneʼ hojilneʼ dahojilneʼ",

["impf|disj=a|Ø|ł|dóóh|obj=y"]="iishdóóh iildóóh adeiildóóh aniłdóóh oołdóóh adaołdóóh iiłdóóh adeiłdóóh ajiłdóóh adajiłdóóh",

["impf|disj=á|ni|Ø|din"]="áníshdin ániidin ádaniidin ánídin ánóhdin ádanohdin ádin ádaadin ájídin ádajídin",

["impf|obj=y|yíní|ł|taʼ"]="yíníshtaʼ yíníiltaʼ deíníiltaʼ yíníłtaʼ yínółtaʼ deínółtaʼ yółtaʼ dayółtaʼ jółtaʼ dajółtaʼ",

["impf|obj=y|yii|Ø|ghas"]="yiisxas yiigas deiigas yiighas woohhas daoohhas yiyiighas dayiighas jiighas dajiighas" }

function format_input(params) str= "    " str=str.. "     "     str=str.. "     "     str=str.. "      "     return str end

function format_output(output) str ="" i = 0 for token in string.gmatch(output,"[^%s]+") do  sep=" " if i == 2 or i == 5 or i == 7 then sep=" " end str = str.. token.. sep i = i + 1 end

return str end

local sub = mw.ustring.gsub local match = mw.ustring.gmatch

function fill_args(params, args)

params = sub(params, "|", " ") i=1 --log =params for token in match(params,"[^%s]+") do     t = sub(token, "=", " ") j =1 ts={} for tt in match(t,"[^%s]+") do         ts[j]=tt j=j+1 end

if j ==3 then args[ts[1]] =ts[2] --log=log..ts[1].."-"..ts[2].." " else args[i] = ts[1] --log=log..i.."-"..ts[1].." " i=i+1 end end args["test"] =1 end

function tests:test_generate for params, expected in pairs(testcases) do  frame={} frame.args={} fill_args(params, frame.args)

self:equals(format_input(frame.args), format_output(m_conj.conj(frame)), format_output(expected)) --self:equals(frame.args[, "a", "a")

--params = ""

-- self:preprocess_equals( params, expected )

end end

return tests