Module:Ancient Greek/testcases: Difference between revisions
Appearance
Content deleted Content added
m Cypriot not supported |
add ALA-LC examples from Module:Ancient Greek (ALA-LC)/testcases |
||
Line 11: | Line 11: | ||
end |
end |
||
function tests:check_output(term, |
function tests:check_output(term, Wiktionary, ALA_LC) |
||
tests:equals( |
tests:equals( |
||
tag(term), |
tag(term), |
||
decompose(translit.transliterate(term)), |
decompose(translit.transliterate(term, "Wiktionary")), |
||
decompose( |
decompose(Wiktionary) |
||
) |
|||
tests:equals( |
|||
tag(term), |
|||
decompose(translit.transliterate(term, "ALA-LC")), |
|||
decompose(ALA_LC) |
|||
) |
) |
||
end |
|||
function tests:iterate(examples, func) |
|||
for i, example in ipairs(examples) do |
|||
self[func](self, unpack(example)) |
|||
end |
|||
end |
end |
||
function tests:test_translit() |
function tests:test_translit() |
||
local examples = { |
local examples = { |
||
{ 'λόγος', 'lógos' }, |
{ 'λόγος', 'lógos', 'logos' }, |
||
{ 'σφίγξ', 'sphínx' }, |
{ 'σφίγξ', 'sphínx', 'sphinx' }, |
||
{ 'ϝάναξ', 'wánax' }, |
{ 'ϝάναξ', 'wánax', 'wanax' }, |
||
{ 'οἷαι', 'hoîai' }, |
{ 'οἷαι', 'hoîai', 'hoiai' }, |
||
-- test u/y |
-- test u/y |
||
{ 'ταῦρος', 'taûros' }, |
{ 'ταῦρος', 'taûros', 'tauros' }, |
||
{ 'νηῦς', 'nēûs' }, |
{ 'νηῦς', 'nēûs', 'nēus' }, |
||
{ 'σῦς', 'sûs' }, |
{ 'σῦς', 'sûs', 'sys' }, |
||
{ 'ὗς', 'hûs' }, |
{ 'ὗς', 'hûs', 'hys' }, |
||
{ 'γυῖον', 'guîon' }, |
{ 'γυῖον', 'guîon', 'guion' }, |
||
{ 'ἀναῡ̈τέω', 'anaṻtéō' }, |
{ 'ἀναῡ̈τέω', 'anaṻtéō', 'anayteō' }, |
||
{ 'δαΐφρων', 'daḯphrōn' }, |
{ 'δαΐφρων', 'daḯphrōn', 'daiphrōn' }, |
||
-- test length |
-- test length |
||
{ 'τῶν', 'tôn' }, |
{ 'τῶν', 'tôn', 'tōn' }, |
||
{ 'τοὶ', 'toì' }, |
{ 'τοὶ', 'toì', 'toi' }, |
||
{ 'τῷ', 'tôi' }, |
{ 'τῷ', 'tôi', 'tō' }, |
||
{ 'τούτῳ', 'toútōi' }, |
{ 'τούτῳ', 'toútōi', 'toutō' }, |
||
{ 'σοφίᾳ', 'sophíāi' }, |
{ 'σοφίᾳ', 'sophíāi', 'sophia' }, |
||
{ 'μᾱ̆νός', 'mānós' }, -- should perhaps be mā̆nos |
{ 'μᾱ̆νός', 'mānós', 'manos' }, -- should perhaps be mā̆nos |
||
-- test h |
-- test h |
||
{ 'ὁ', 'ho' }, |
{ 'ὁ', 'ho', 'ho' }, |
||
{ 'οἱ', 'hoi' }, |
{ 'οἱ', 'hoi', 'hoi' }, |
||
{ 'εὕρισκε', 'heúriske' }, |
{ 'εὕρισκε', 'heúriske', 'heuriske' }, |
||
{ 'ὑϊκός', 'huïkós' }, |
{ 'ὑϊκός', 'huïkós', 'hyikos' }, |
||
{ 'πυρρός', 'purrhós' }, |
{ 'πυρρός', 'purrhós', 'pyrrhos' }, |
||
{ 'ῥέω', 'rhéō' }, |
{ 'ῥέω', 'rhéō', 'rheō' }, |
||
{ 'σάἁμον', 'sáhamon' }, |
{ 'σάἁμον', 'sáhamon', 'sahamon' }, |
||
-- test capitals |
-- test capitals |
||
{ 'Ὀδυσσεύς', 'Odusseús' }, |
{ 'Ὀδυσσεύς', 'Odusseús', 'Odysseus' }, |
||
{ 'Εἵλως', 'Heílōs' }, |
{ 'Εἵλως', 'Heílōs', 'Heilōs' }, |
||
{ 'ᾍδης', 'Hā́idēs' }, |
{ 'ᾍδης', 'Hā́idēs', 'Hadēs' }, |
||
{ 'ἡ Ἑλήνη', 'hē Helḗnē' }, |
{ 'ἡ Ἑλήνη', 'hē Helḗnē', 'hē Helēnē' }, |
||
-- punctuation |
-- punctuation |
||
{ 'ἔχεις μοι εἰπεῖν, ὦ Σώκρατες, ἆρα διδακτὸν ἡ ἀρετή;', 'ékheis moi eipeîn, ô Sṓkrates, âra didaktòn hē aretḗ?'}, |
{ 'ἔχεις μοι εἰπεῖν, ὦ Σώκρατες, ἆρα διδακτὸν ἡ ἀρετή;', 'ékheis moi eipeîn, ô Sṓkrates, âra didaktòn hē aretḗ?', 'echeis moi eipein, ō Sōkrates, ara didakton hē aretē?'}, |
||
{ 'τί τηνικάδε ἀφῖξαι, ὦ Κρίτων; ἢ οὐ πρῲ ἔτι ἐστίν;', 'tí tēnikáde aphîxai, ô Krítōn? ḕ ou prṑi éti estín?' }, |
{ 'τί τηνικάδε ἀφῖξαι, ὦ Κρίτων; ἢ οὐ πρῲ ἔτι ἐστίν;', 'tí tēnikáde aphîxai, ô Krítōn? ḕ ou prṑi éti estín?', 'ti tēnikade aphixai, ō Kritōn? ē ou prō eti estin?' }, |
||
-- This ought to be colon, but sadly that cannot be. |
-- This ought to be colon, but sadly that cannot be. |
||
{ 'τούτων φωνήεντα μέν ἐστιν ἑπτά· α ε η ι ο υ ω.', 'toútōn phōnḗenta mén estin heptá; a e ē i o u ō.' }, |
{ 'τούτων φωνήεντα μέν ἐστιν ἑπτά· α ε η ι ο υ ω.', 'toútōn phōnḗenta mén estin heptá; a e ē i o u ō.', 'toutōn phōnēenta men estin hepta; a e ē i o y ō.' }, |
||
} |
} |
||
Latest revision as of 18:31, 15 April 2019
![]() | This is the test cases page for the module Module:Ancient Greek. Results of the test cases. |
--[=[
Modified from [[wikt:Module:grc-translit/testcases]].
]=]
local tests = require('Module:UnitTests')
local translit = require('Module:Ancient Greek')
local decompose = mw.ustring.toNFC
local function tag(text)
return '<span lang="grc">' .. text .. '</span>'
end
function tests:check_output(term, Wiktionary, ALA_LC)
tests:equals(
tag(term),
decompose(translit.transliterate(term, "Wiktionary")),
decompose(Wiktionary)
)
tests:equals(
tag(term),
decompose(translit.transliterate(term, "ALA-LC")),
decompose(ALA_LC)
)
end
function tests:test_translit()
local examples = {
{ 'λόγος', 'lógos', 'logos' },
{ 'σφίγξ', 'sphínx', 'sphinx' },
{ 'ϝάναξ', 'wánax', 'wanax' },
{ 'οἷαι', 'hoîai', 'hoiai' },
-- test u/y
{ 'ταῦρος', 'taûros', 'tauros' },
{ 'νηῦς', 'nēûs', 'nēus' },
{ 'σῦς', 'sûs', 'sys' },
{ 'ὗς', 'hûs', 'hys' },
{ 'γυῖον', 'guîon', 'guion' },
{ 'ἀναῡ̈τέω', 'anaṻtéō', 'anayteō' },
{ 'δαΐφρων', 'daḯphrōn', 'daiphrōn' },
-- test length
{ 'τῶν', 'tôn', 'tōn' },
{ 'τοὶ', 'toì', 'toi' },
{ 'τῷ', 'tôi', 'tō' },
{ 'τούτῳ', 'toútōi', 'toutō' },
{ 'σοφίᾳ', 'sophíāi', 'sophia' },
{ 'μᾱ̆νός', 'mānós', 'manos' }, -- should perhaps be mā̆nos
-- test h
{ 'ὁ', 'ho', 'ho' },
{ 'οἱ', 'hoi', 'hoi' },
{ 'εὕρισκε', 'heúriske', 'heuriske' },
{ 'ὑϊκός', 'huïkós', 'hyikos' },
{ 'πυρρός', 'purrhós', 'pyrrhos' },
{ 'ῥέω', 'rhéō', 'rheō' },
{ 'σάἁμον', 'sáhamon', 'sahamon' },
-- test capitals
{ 'Ὀδυσσεύς', 'Odusseús', 'Odysseus' },
{ 'Εἵλως', 'Heílōs', 'Heilōs' },
{ 'ᾍδης', 'Hā́idēs', 'Hadēs' },
{ 'ἡ Ἑλήνη', 'hē Helḗnē', 'hē Helēnē' },
-- punctuation
{ 'ἔχεις μοι εἰπεῖν, ὦ Σώκρατες, ἆρα διδακτὸν ἡ ἀρετή;', 'ékheis moi eipeîn, ô Sṓkrates, âra didaktòn hē aretḗ?', 'echeis moi eipein, ō Sōkrates, ara didakton hē aretē?'},
{ 'τί τηνικάδε ἀφῖξαι, ὦ Κρίτων; ἢ οὐ πρῲ ἔτι ἐστίν;', 'tí tēnikáde aphîxai, ô Krítōn? ḕ ou prṑi éti estín?', 'ti tēnikade aphixai, ō Kritōn? ē ou prō eti estin?' },
-- This ought to be colon, but sadly that cannot be.
{ 'τούτων φωνήεντα μέν ἐστιν ἑπτά· α ε η ι ο υ ω.', 'toútōn phōnḗenta mén estin heptá; a e ē i o u ō.', 'toutōn phōnēenta men estin hepta; a e ē i o y ō.' },
}
self:iterate(examples, 'check_output')
end
return tests