-- Le but est d'abord d'assurer le même comportement que eo-rég. On verra pour la suite plus tard.
local tests = require('Module:UnitTests')
local eo = require('Module:eo-flexions')
function tests:test_get_ns_on_nouns()
local args = {
= {},
= {},
= {},
= {}
}
local testcases = {
= 'pomo',
= 'pomo',
= 'pomo',
= 'pomo'
}
for mot, args_ in pairs(args) do
ns = testcases
result = eo.get_ns(mot)
self:equals(mot, result, ns)
end
end
function tests:test_get_ns_on_adjectives()
local args = {
= {},
= {},
= {},
= {},
}
local testcases = {
= 'verda',
= 'verda',
= 'verda',
= 'verda'
}
for mot, args_ in pairs(args) do
ns = testcases
result = eo.get_ns(mot)
self:equals(mot, result, ns)
end
end
function tests:test_get_empty_prons_forms()
local args = {
= {},
}
local testcases = {
= {
= '',
= '',
= '',
= ''
}
}
local forms = {}
for mot, args_ in pairs(args) do
flexions = testcases
forms = eo.get_forms(mot)
for key, value in pairs(flexions) do
self:equals(mot, forms, value)
end
end
end
function tests:test_get_one_word_forms()
local args = {
= {},
= {},
= {},
= {}
}
local testcases = {
= {
= 'pomo',
= 'pomoj',
= 'pomon',
= 'pomojn'
},
= {
= 'pomo',
= 'pomoj',
= 'pomon',
= 'pomojn'
},
= {
= 'verda',
= 'verdaj',
= 'verdan',
= 'verdajn'
},
= {
= 'verda',
= 'verdaj',
= 'verdan',
= 'verdajn'
}
}
local forms = {}
for mot, args_ in pairs(args) do
flexions = testcases
forms = eo.get_forms(mot, args_)
for key, value in pairs(flexions) do
self:equals(mot, forms, value)
end
end
end
function tests:test_get_locution_forms()
local args = {
= {},
= {
= ''
}
}
local testcases = {
= {
= 'verda pomo',
= 'verdaj pomoj',
= 'verdan pomon',
= 'verdajn pomojn'
},
= {
= 'ĉi tiu',
= 'ĉi tiuj',
= 'ĉi tiun',
= 'ĉi tiujn'
}
}
local forms = {}
for mot, args_ in pairs(args) do
flexions = testcases
forms = eo.get_forms(mot, args_)
for key, value in pairs(flexions) do
self:equals(mot, forms, value)
end
end
end
function tests:test_custom_word_forms()
local args = {
= {
= 'pomo'
},
= {
= 'pomo'
},
= {
= 'verda pomon'
}
}
local testcases = {
= {
= 'pomo',
= 'pomoj',
= 'pomon',
= 'pomojn'
},
= {
= 'pomo',
= 'pomoj',
= 'verda pomon',
= 'pomojn'
}
}
local forms = {}
for mot, args_ in pairs(args) do
flexions = testcases
forms = eo.get_forms(mot, args_)
for key, value in pairs(flexions) do
self:equals(mot, forms, value)
end
end
end
function tests:test_pronunciations()
local args = {
= {
= 'po.mo'
},
= {
= 'po.mo'
},
= {
= 'po.mo'
},
= {
= 'ˈver.da',
= 'ˈtest'
},
= {
= 'ɡe.fi.ˈan.t͡ʃoj'
}
}
local testcases = {
= {
= 'po.mo',
= 'po.moj',
= 'po.mon',
= 'po.mojn'
},
= {
= 'ˈver.da',
= 'ˈver.daj',
= 'ˈver.dan',
= 'ˈtest'
},
= {
= 'ɡe.fi.ˈan.t͡ʃoj',
= 'ɡe.fi.ˈan.t͡ʃojn'
}
}
local forms = {}
for mot, args_ in pairs(args) do
flexions = testcases
forms = eo.get_pronunciations(args_)
for key, value in pairs(flexions) do
self:equals(mot, forms, value)
end
end
end
function tests:test_locution_pronunciations()
local args = {
= {
= 'ˈver.da po.mo'
},
= {
= 't͡ʃi ˈti.u',
= ''
}
}
local testcases = {
= {
= 'ˈver.da po.mo',
= 'ˈver.daj po.moj',
= 'ˈver.dan po.mon',
= 'ˈver.dajn po.mojn'
},
= {
= 't͡ʃi ˈti.u',
= 't͡ʃi ˈti.uj',
= 't͡ʃi ˈti.un',
= 't͡ʃi ˈti.ujn'
}
}
local forms = {}
for mot, args_ in pairs(args) do
flexions = testcases
forms = eo.get_pronunciations(args_)
for key, value in pairs(flexions) do
self:equals(mot, forms, value)
end
end
end
return tests