6 of 8 tests failed. (refresh)

TextExpectedActualDiffers at
test_grc_adecl_first_and_second:
Script error during testing: Module:grc-decl/testcases:112: attempt to call method 'heading' (a nil value)
stack traceback:
	[C]: in function 'heading'
	Module:grc-decl/testcases:112: in function 'iterate_adj'
	Module:grc-decl/testcases:393: in function <Module:grc-decl/testcases:352>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:370: in function <Module:UnitTests:329>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:893: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActualDiffers at
test_grc_adecl_first_and_third:
Script error during testing: Module:grc-decl/testcases:112: attempt to call method 'heading' (a nil value)
stack traceback:
	[C]: in function 'heading'
	Module:grc-decl/testcases:112: in function 'iterate_adj'
	Module:grc-decl/testcases:587: in function <Module:grc-decl/testcases:483>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:370: in function <Module:UnitTests:329>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:893: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActualDiffers at
test_grc_adecl_second:
Passedᾰ̓́δῐκος, ονᾰ̓́δῐκος, ᾰ̓δῐ́κου, ᾰ̓δῐ́κῳ, ᾰ̓́δῐκον, ᾰ̓́δῐκε
ᾰ̓δῐ́κω, ᾰ̓δῐ́κοιν
ᾰ̓́δῐκοι, ᾰ̓δῐ́κων, ᾰ̓δῐ́κοις, ᾰ̓δῐ́κους

ᾰ̓́δῐκον, ᾰ̓δῐ́κου, ᾰ̓δῐ́κῳ
ᾰ̓δῐ́κω, ᾰ̓δῐ́κοιν
ᾰ̓́δῐκᾰ, ᾰ̓δῐ́κων, ᾰ̓δῐ́κοις

ᾰ̓δῐ́κως, ᾰ̓δῐκώτερος, ᾰ̓δῐκώτᾰτος
ᾰ̓́δῐκος, ᾰ̓δῐ́κου, ᾰ̓δῐ́κῳ, ᾰ̓́δῐκον, ᾰ̓́δῐκε
ᾰ̓δῐ́κω, ᾰ̓δῐ́κοιν
ᾰ̓́δῐκοι, ᾰ̓δῐ́κων, ᾰ̓δῐ́κοις, ᾰ̓δῐ́κους

ᾰ̓́δῐκον, ᾰ̓δῐ́κου, ᾰ̓δῐ́κῳ
ᾰ̓δῐ́κω, ᾰ̓δῐ́κοιν
ᾰ̓́δῐκᾰ, ᾰ̓δῐ́κων, ᾰ̓δῐ́κοις

ᾰ̓δῐ́κως, ᾰ̓δῐκώτερος, ᾰ̓δῐκώτᾰτος
Passedδῠνᾰτός, όνδῠνᾰτός, δῠνᾰτοῦ, δῠνᾰτῷ, δῠνᾰτόν, δῠνᾰτέ
δῠνᾰτώ, δῠνᾰτοῖν
δῠνᾰτοί, δῠνᾰτῶν, δῠνᾰτοῖς, δῠνᾰτούς

δῠνᾰτόν, δῠνᾰτοῦ, δῠνᾰτῷ
δῠνᾰτώ, δῠνᾰτοῖν
δῠνᾰτᾰ́, δῠνᾰτῶν, δῠνᾰτοῖς

δῠνᾰτῶς, δῠνᾰτώτερος, δῠνᾰτώτᾰτος
δῠνᾰτός, δῠνᾰτοῦ, δῠνᾰτῷ, δῠνᾰτόν, δῠνᾰτέ
δῠνᾰτώ, δῠνᾰτοῖν
δῠνᾰτοί, δῠνᾰτῶν, δῠνᾰτοῖς, δῠνᾰτούς

δῠνᾰτόν, δῠνᾰτοῦ, δῠνᾰτῷ
δῠνᾰτώ, δῠνᾰτοῖν
δῠνᾰτᾰ́, δῠνᾰτῶν, δῠνᾰτοῖς

δῠνᾰτῶς, δῠνᾰτώτερος, δῠνᾰτώτᾰτος
Passedχερσαῖος, ονχερσαῖος, χερσαίου, χερσαίῳ, χερσαῖον, χερσαῖε
χερσαίω, χερσαίοιν
χερσαῖοι, χερσαίων, χερσαίοις, χερσαίους

χερσαῖον, χερσαίου, χερσαίῳ
χερσαίω, χερσαίοιν
χερσαῖᾰ, χερσαίων, χερσαίοις

χερσαίως, χερσαιότερος, χερσαιότᾰτος
χερσαῖος, χερσαίου, χερσαίῳ, χερσαῖον, χερσαῖε
χερσαίω, χερσαίοιν
χερσαῖοι, χερσαίων, χερσαίοις, χερσαίους

χερσαῖον, χερσαίου, χερσαίῳ
χερσαίω, χερσαίοιν
χερσαῖᾰ, χερσαίων, χερσαίοις

χερσαίως, χερσαιότερος, χερσαιότᾰτος
Passedῑ̔́λεως, ῑ̔́λεωνῑ̔́λεως, ῑ̔́λεω, ῑ̔́λεῳ, ῑ̔́λεω(ν), ῑ̔́λεως
ῑ̔́λεω, ῑ̔́λεῳν
ῑ̔́λεῳ, ῑ̔́λεων, ῑ̔́λεῳς, ῑ̔́λεως

ῑ̔́λεων, ῑ̔́λεω, ῑ̔́λεῳ
ῑ̔́λεω, ῑ̔́λεῳν
ῑ̔́λεᾰ, ῑ̔́λεων, ῑ̔́λεῳς

ῑ̔́λεως, ῑ̔λεώτερος, ῑ̔λεώτᾰτος
ῑ̔́λεως, ῑ̔́λεω, ῑ̔́λεῳ, ῑ̔́λεω(ν), ῑ̔́λεως
ῑ̔́λεω, ῑ̔́λεῳν
ῑ̔́λεῳ, ῑ̔́λεων, ῑ̔́λεῳς, ῑ̔́λεως

ῑ̔́λεων, ῑ̔́λεω, ῑ̔́λεῳ
ῑ̔́λεω, ῑ̔́λεῳν
ῑ̔́λεᾰ, ῑ̔́λεων, ῑ̔́λεῳς

ῑ̔́λεως, ῑ̔λεώτερος, ῑ̔λεώτᾰτος
TextExpectedActualDiffers at
test_grc_adecl_third:
Passedψευδής, ές (ion)ψευδής, ψευδέος/ψευδεῦς, ψευδεῖ/ψευδέῐ̈, ψευδέᾰ, ψευδές
ψευδεῖ/ψευδέε, ψευδέοιν
ψευδεῖς/ψευδέες, ψευδέων, ψευδέσῐ(ν), ψευδέᾰς

ψευδές, ψευδέος/ψευδεῦς, ψευδεῖ/ψευδέῐ̈
ψευδεῖ/ψευδέε, ψευδέοιν
ψευδέᾰ, ψευδέων, ψευδέσῐ(ν)

ψευδέως, ψευδέστερος, ψευδέστᾰτος
ψευδής, ψευδέος/ψευδεῦς, ψευδεῖ/ψευδέῐ̈, ψευδέᾰ, ψευδές
ψευδεῖ/ψευδέε, ψευδέοιν
ψευδεῖς/ψευδέες, ψευδέων, ψευδέσῐ(ν), ψευδέᾰς

ψευδές, ψευδέος/ψευδεῦς, ψευδεῖ/ψευδέῐ̈
ψευδεῖ/ψευδέε, ψευδέοιν
ψευδέᾰ, ψευδέων, ψευδέσῐ(ν)

ψευδέως, ψευδέστερος, ψευδέστᾰτος
Passedκᾰκοήθης, ες (ion)κᾰκοήθης, κᾰκοήθεος/κᾰκοήθευς, κᾰκοήθει/κᾰκοήθεῐ̈, κᾰκοήθεᾰ, κᾰκόηθες
κᾰκοήθει/κᾰκοήθεε, κᾰκοηθέοιν
κᾰκοήθεις/κᾰκοήθεες, κᾰκοηθέων, κᾰκοήθεσῐ(ν), κᾰκοήθεᾰς

κᾰκόηθες, κᾰκοήθεος/κᾰκοήθευς, κᾰκοήθει/κᾰκοήθεῐ̈
κᾰκοήθει/κᾰκοήθεε, κᾰκοηθέοιν
κᾰκοήθεᾰ, κᾰκοηθέων, κᾰκοήθεσῐ(ν)

κᾰκοηθέως, κᾰκοηθέστερος, κᾰκοηθέστᾰτος
κᾰκοήθης, κᾰκοήθεος/κᾰκοήθευς, κᾰκοήθει/κᾰκοήθεῐ̈, κᾰκοήθεᾰ, κᾰκόηθες
κᾰκοήθει/κᾰκοήθεε, κᾰκοηθέοιν
κᾰκοήθεις/κᾰκοήθεες, κᾰκοηθέων, κᾰκοήθεσῐ(ν), κᾰκοήθεᾰς

κᾰκόηθες, κᾰκοήθεος/κᾰκοήθευς, κᾰκοήθει/κᾰκοήθεῐ̈
κᾰκοήθει/κᾰκοήθεε, κᾰκοηθέοιν
κᾰκοήθεᾰ, κᾰκοηθέων, κᾰκοήθεσῐ(ν)

κᾰκοηθέως, κᾰκοηθέστερος, κᾰκοηθέστᾰτος
Passedεὐδαῖμονεὐδαίμων, εὐδαίμονος, εὐδαίμονῐ, εὐδαίμονᾰ, εὐδαῖμον
εὐδαίμονε, εὐδαιμόνοιν
εὐδαίμονες, εὐδαιμόνων, εὐδαίμοσῐ(ν), εὐδαίμονᾰς

εὐδαῖμον, εὐδαίμονος, εὐδαίμονῐ
εὐδαίμονε, εὐδαιμόνοιν
εὐδαίμονᾰ, εὐδαιμόνων, εὐδαίμοσῐ(ν)

εὐδαιμόνως, εὐδαιμονέστερος, εὐδαιμονέστᾰτος
εὐδαίμων, εὐδαίμονος, εὐδαίμονῐ, εὐδαίμονᾰ, εὐδαῖμον
εὐδαίμονε, εὐδαιμόνοιν
εὐδαίμονες, εὐδαιμόνων, εὐδαίμοσῐ(ν), εὐδαίμονᾰς

εὐδαῖμον, εὐδαίμονος, εὐδαίμονῐ
εὐδαίμονε, εὐδαιμόνοιν
εὐδαίμονᾰ, εὐδαιμόνων, εὐδαίμοσῐ(ν)

εὐδαιμόνως, εὐδαιμονέστερος, εὐδαιμονέστᾰτος
Passedσκῐόεις, εσσᾰσκῐόεις, σκῐόεντος, σκῐόεντῐ, σκῐόεντᾰ, σκῐόεν
σκῐόεντε, σκῐοέντοιν
σκῐόεντες, σκῐοέντων, σκῐόεισῐ(ν), σκῐόεντᾰς

σκῐόεσσᾰ, σκῐοέσσης, σκῐοέσσῃ, σκῐόεσσᾰν
σκῐοέσσᾱ, σκῐοέσσαιν
σκῐόεσσαι, σκῐοεσσῶν, σκῐοέσσαις, σκῐοέσσᾱς

σκῐόεν, σκῐόεντος, σκῐόεντῐ
σκῐόεντε, σκῐοέντοιν
σκῐόεντᾰ, σκῐοέντων, σκῐόεισῐ(ν)

σκῐοέντως, σκῐοέστερος, σκῐοέστᾰτος
σκῐόεις, σκῐόεντος, σκῐόεντῐ, σκῐόεντᾰ, σκῐόεν
σκῐόεντε, σκῐοέντοιν
σκῐόεντες, σκῐοέντων, σκῐόεισῐ(ν), σκῐόεντᾰς

σκῐόεσσᾰ, σκῐοέσσης, σκῐοέσσῃ, σκῐόεσσᾰν
σκῐοέσσᾱ, σκῐοέσσαιν
σκῐόεσσαι, σκῐοεσσῶν, σκῐοέσσαις, σκῐοέσσᾱς

σκῐόεν, σκῐόεντος, σκῐόεντῐ
σκῐόεντε, σκῐοέντοιν
σκῐόεντᾰ, σκῐοέντων, σκῐόεισῐ(ν)

σκῐοέντως, σκῐοέστερος, σκῐοέστᾰτος
TextExpectedActualDiffers at
test_grc_decl_first:
Script error during testing: Module:grc-decl/testcases:102: attempt to call method 'heading' (a nil value)
stack traceback:
	[C]: in function 'heading'
	Module:grc-decl/testcases:102: in function 'iterate'
	Module:grc-decl/testcases:146: in function <Module:grc-decl/testcases:117>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:370: in function <Module:UnitTests:329>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:893: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActualDiffers at
test_grc_decl_second:
Script error during testing: Module:grc-decl/testcases:102: attempt to call method 'heading' (a nil value)
stack traceback:
	[C]: in function 'heading'
	Module:grc-decl/testcases:102: in function 'iterate'
	Module:grc-decl/testcases:171: in function <Module:grc-decl/testcases:149>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:370: in function <Module:UnitTests:329>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:893: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActualDiffers at
test_grc_decl_third_cons:
Script error during testing: Module:grc-decl/testcases:102: attempt to call method 'heading' (a nil value)
stack traceback:
	[C]: in function 'heading'
	Module:grc-decl/testcases:102: in function 'iterate'
	Module:grc-decl/testcases:316: in function <Module:grc-decl/testcases:174>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:370: in function <Module:UnitTests:329>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:893: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
TextExpectedActualDiffers at
test_grc_decl_third_vowel:
Script error during testing: Module:grc-decl/testcases:102: attempt to call method 'heading' (a nil value)
stack traceback:
	[C]: in function 'heading'
	Module:grc-decl/testcases:102: in function 'iterate'
	Module:grc-decl/testcases:348: in function <Module:grc-decl/testcases:319>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:370: in function <Module:UnitTests:329>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:893: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?

local tests = require('Module:UnitTests')
local grc_decl = require('Module:grc-decl')
local m_links = require('Module:links')
local m_script_utils = require('Module:script utilities')
local lang = require('Module:languages').getByCode('grc')

local normalize = mw.ustring.toNFD

local function link(term)
	return m_links.full_link { lang = lang, term = term, tr = '-' }
end

local function tag(term)
	return m_script_utils.tag_text(term, lang)
end

local function _cell(t)
	return function(key1, key2)
		return t[key1] or t[key2] or '—'
	end
end

local function format_ctable(ctable)
	local cell = _cell(ctable)
	return normalize(table.concat({
		table.concat({ cell('NS'), cell('GS'), cell('DS'), cell('AS', 'NS'), cell('VS', 'NS') }, ', '),
		table.concat({ cell('ND'), cell('GD') }, ', '),
		table.concat({ cell('NP'), cell('GP'), cell('DP'), cell('AP', 'NP') }, ', '),
	}, '<br/>'))
end

local function format_atable(atable, fem)
	local cell = _cell(atable)
	local out = {
		table.concat({
			table.concat({ cell('MNS'), cell('MGS'), cell('MDS'), cell('MAS', 'MNS'), cell('MVS', 'MNS') }, ', '),
			table.concat({ cell('MND'), cell('MGD') }, ', '),
			table.concat({ cell('MNP'), cell('MGP'), cell('MDP'), cell('MAP', 'MNP') }, ', '),
			'',
		}, '<br/>')
	}
	if fem then
		table.insert(out, table.concat({
			table.concat({ cell('FNS'), cell('FGS'), cell('FDS'), cell('FAS', 'FNS') }, ', '),
			table.concat({ cell('FND'), cell('FGD') }, ', '),
			table.concat({ cell('FNP'), cell('FGP'), cell('FDP'), cell('FAP', 'FNP') }, ', '),
			'',
		}, '<br/>'))
	end
	table.insert(out, table.concat({
		table.concat({ cell('NNS'), cell('NGS'), cell('NDS') }, ', '),
		table.concat({ cell('NND'), cell('NGD') }, ', '),
		table.concat({ cell('NNP'), cell('NGP'), cell('NDP') }, ', '),
		'',
		table.concat({ cell('adv'), cell('comp'), cell('super') }, ', '),
	}, '<br/>'))
	return normalize(table.concat(out, '<br/>'))
end

local function print_named_params(input_frame)
	local output = {}
	for k, v in pairs(input_frame) do
		if type(k) == 'string' then
			table.insert(output, v)
		end
	end
	if #output > 0 then
		return table.concat{ ' (', table.concat(output, ', '), ')' }
	else
		return ''
	end
end

local function show(input_frame)
	return link(input_frame[1]) ..
		(input_frame[2] and ', ' .. tag(input_frame[2]) or '') ..
		print_named_params(input_frame)
end

function tests:check_output_noun(input_frame, output_ctable)
	local args = grc_decl.test_decl(input_frame)
	self:equals(show(input_frame),
		format_ctable(args.ctable),
		format_ctable(output_ctable),
		{ display = tag, show_difference = true })
end

function tests:check_output_adj(input_frame, output_atable)
	local args = grc_decl.test_adecl(input_frame)
	local fem = args.act[2]
	self:equals(show(input_frame),
		format_atable(args.atable, fem),
		format_atable(output_atable, fem),
		{ display = tag, show_difference = true })
end

local function iterate(examples)
	for _, example in ipairs(examples) do
		if type(example) == "table" then
			tests:check_output_noun(example[1], example[2])
		else
			tests:heading(example)
		end
	end
end

local function iterate_adj(examples)
	for _, example in ipairs(examples) do
		if type(example) == "table" then
			tests:check_output_adj(example[1], example[2])
		else
			tests:heading(example)
		end
	end
end

function tests:test_grc_decl_first()
	local examples = {
		'Feminine long alpha',
		{ { 'θήρᾱ', 'ᾱς' }, { NS = 'θήρᾱ', GS = 'θήρᾱς', DS = 'θήρᾳ', AS = 'θήρᾱν', ND = 'θήρᾱ', GD = 'θήραιν', NP = 'θῆραι', GP = 'θηρῶν', DP = 'θήραις', AP = 'θήρᾱς' } },
		{ { 'βῐ́ᾱ', 'ᾱς' }, { NS = 'βῐ́ᾱ', GS = 'βῐ́ᾱς', DS = 'βῐ́ᾳ', AS = 'βῐ́ᾱν', ND = 'βῐ́ᾱ', GD = 'βῐ́αιν', NP = 'βῐ́αι', GP = 'βῐῶν', DP = 'βῐ́αις', AP = 'βῐ́ᾱς' } },
		{ { 'φῐλῐ́ᾱ', 'ᾱς' }, { NS = 'φῐλῐ́ᾱ', GS = 'φῐλῐ́ᾱς', DS = 'φῐλῐ́ᾳ', AS = 'φῐλῐ́ᾱν', ND = 'φῐλῐ́ᾱ', GD = 'φῐλῐ́αιν', NP = 'φῐλῐ́αι', GP = 'φῐλῐῶν', DP = 'φῐλῐ́αις', AP = 'φῐλῐ́ᾱς' } },
		{ { 'ᾰ̓γορᾱ́', 'ᾶς' }, { NS = 'ᾰ̓γορᾱ́', GS = 'ᾰ̓γορᾶς', DS = 'ᾰ̓γορᾷ', AS = 'ᾰ̓γορᾱ́ν', ND = 'ᾰ̓γορᾱ́', GD = 'ᾰ̓γοραῖν', NP = 'ᾰ̓γοραί', GP = 'ᾰ̓γορῶν', DP = 'ᾰ̓γοραῖς', AP = 'ᾰ̓γορᾱ́ς' } },
		'Feminine eta',
		{ { 'νῑ́κη', 'ης' }, { NS = 'νῑ́κη', GS = 'νῑ́κης', DS = 'νῑ́κῃ', AS = 'νῑ́κην', ND = 'νῑ́κᾱ', GD = 'νῑ́καιν', NP = 'νῖκαι', GP = 'νῑκῶν', DP = 'νῑ́καις', AP = 'νῑ́κᾱς' } },
		{ { 'δῐ́κη', 'ης' }, { NS = 'δῐ́κη', GS = 'δῐ́κης', DS = 'δῐ́κῃ', AS = 'δῐ́κην', ND = 'δῐ́κᾱ', GD = 'δῐ́καιν', NP = 'δῐ́και', GP = 'δῐκῶν', DP = 'δῐ́καις', AP = 'δῐ́κᾱς' } },
		{ { 'ἐπῐστήμη', 'ης' }, { NS = 'ἐπῐστήμη', GS = 'ἐπῐστήμης', DS = 'ἐπῐστήμῃ', AS = 'ἐπῐστήμην', ND = 'ἐπῐστήμᾱ', GD = 'ἐπῐστήμαιν', NP = 'ἐπῐστῆμαι', GP = 'ἐπῐστημῶν', DP = 'ἐπῐστήμαις', AP = 'ἐπῐστήμᾱς' } },
		{ { 'βουλή', 'ῆς' }, { NS = 'βουλή', GS = 'βουλῆς', DS = 'βουλῇ', AS = 'βουλήν', ND = 'βουλᾱ́', GD = 'βουλαῖν', NP = 'βουλαί', GP = 'βουλῶν', DP = 'βουλαῖς', AP = 'βουλᾱ́ς' } },
		'Feminine short alpha',
		{ { 'ᾰ̓λήθειᾰ', 'ᾱς' }, { NS = 'ᾰ̓λήθειᾰ', GS = 'ᾰ̓ληθείᾱς', DS = 'ᾰ̓ληθείᾳ', AS = 'ᾰ̓λήθειᾰν', ND = 'ᾰ̓ληθείᾱ', GD = 'ᾰ̓ληθείαιν', NP = 'ᾰ̓λήθειαι', GP = 'ᾰ̓ληθειῶν', DP = 'ᾰ̓ληθείαις', AP = 'ᾰ̓ληθείᾱς' } },
		{ { 'θάλασσᾰ', 'ης' }, { NS = 'θάλασσᾰ', GS = 'θαλάσσης', DS = 'θαλάσσῃ', AS = 'θάλασσᾰν', ND = 'θαλάσσᾱ', GD = 'θαλάσσαιν', NP = 'θάλασσαι', GP = 'θαλασσῶν', DP = 'θαλάσσαις', AP = 'θαλάσσᾱς' } },
		{ { 'γλῶσσᾰ', 'ης' }, { NS = 'γλῶσσᾰ', GS = 'γλώσσης', DS = 'γλώσσῃ', AS = 'γλῶσσᾰν', ND = 'γλώσσᾱ', GD = 'γλώσσαιν', NP = 'γλῶσσαι', GP = 'γλωσσῶν', DP = 'γλώσσαις', AP = 'γλώσσᾱς' } },
		'Feminine short alpha (contracted)',
		{ { 'μνᾶ', 'ᾶς' }, { NS = 'μνᾶ', GS = 'μνᾶς', DS = 'μνᾷ', AS = 'μνᾶν', ND = 'μνᾶ', GD = 'μναῖν', NP = 'μναῖ', GP = 'μνῶν', DP = 'μναῖς', AP = 'μνᾶς' } },
		{ { 'γῆ', 'ῆς' }, { NS = 'γῆ', GS = 'γῆς', DS = 'γῇ', AS = 'γῆν', ND = 'γᾶ', GD = 'γαῖν', NP = 'γαῖ/γέαι', GP = 'γῶν/γεῶν', DP = 'γαῖς', AP = 'γᾶς/γέᾱς' } },
		'Masculine alpha',
		{ { 'νεᾱνῐ́ᾱς', 'ου' }, { NS = 'νεᾱνῐ́ᾱς', GS = 'νεᾱνῐ́ου', DS = 'νεᾱνῐ́ᾳ', AS = 'νεᾱνῐ́ᾱν', VS = 'νεᾱνῐ́ᾱ', ND = 'νεᾱνῐ́ᾱ', GD = 'νεᾱνῐ́αιν', NP = 'νεᾱνῐ́αι', GP = 'νεᾱνῐῶν', DP = 'νεᾱνῐ́αις', AP = 'νεᾱνῐ́ᾱς' } },
		{ { 'Βορρᾶς', 'ᾶ' }, { NS = 'Βορρᾶς', GS = 'Βορρᾶ', DS = 'Βορρᾷ', AS = 'Βορρᾶν', VS = 'Βορρᾶ', ND = 'Βορρᾶ', GD = 'Βορραῖν', NP = 'Βορραῖ', GP = 'Βορρῶν', DP = 'Βορραῖς', AP = 'Βορρᾶς' } },
		{ { 'Νασικᾶς', 'ᾶ' }, { NS = 'Νασικᾶς', GS = 'Νασικᾶ', DS = 'Νασικᾷ', AS = 'Νασικᾶν', VS = 'Νασικᾶ', ND = 'Νασικᾶ', GD = 'Νασικαῖν', NP = 'Νασικαῖ', GP = 'Νασικῶν', DP = 'Νασικαῖς', AP = 'Νασικᾶς' } },
		'Masculine eta',
		{ { 'πώλης', 'πώλου' }, { NS = 'πώλης', GS = 'πώλου', DS = 'πώλῃ', AS = 'πώλην', VS = 'πώλη', ND = 'πώλᾱ', GD = 'πώλαιν', NP = 'πῶλαι', GP = 'πωλῶν', DP = 'πώλαις', AP = 'πώλᾱς' } },
		{ { 'πολῑ́της', 'ου' }, { NS = 'πολῑ́της', GS = 'πολῑ́του', DS = 'πολῑ́τῃ', AS = 'πολῑ́την', VS = 'πολῖτᾰ', ND = 'πολῑ́τᾱ', GD = 'πολῑ́ταιν', NP = 'πολῖται', GP = 'πολῑτῶν', DP = 'πολῑ́ταις', AP = 'πολῑ́τᾱς' } },
		{ { 'κρῐτής', 'οῦ' }, { NS = 'κρῐτής', GS = 'κρῐτοῦ', DS = 'κρῐτῇ', AS = 'κρῐτήν', VS = 'κρῐτᾰ́', ND = 'κρῐτᾱ́', GD = 'κρῐταῖν', NP = 'κρῐταί', GP = 'κρῐτῶν', DP = 'κρῐταῖς', AP = 'κρῐτᾱ́ς' } },
		{ { 'Ἑρμῆς', 'οῦ' }, { NS = 'Ἑρμῆς', GS = 'Ἑρμοῦ', DS = 'Ἑρμῇ', AS = 'Ἑρμῆν', VS = 'Ἑρμῆ', ND = 'Ἑρμᾶ', GD = 'Ἑρμαῖν', NP = 'Ἑρμαῖ', GP = 'Ἑρμῶν', DP = 'Ἑρμαῖς', AP = 'Ἑρμᾶς' } },
	}
	iterate(examples)
end

function tests:test_grc_decl_second()
	local examples = {
		'Masculine',
		{ { 'θεός', 'οῦ' }, { NS = 'θεός', GS = 'θεοῦ', DS = 'θεῷ', AS = 'θεόν', VS = 'θεέ', ND = 'θεώ', GD = 'θεοῖν', NP = 'θεοί', GP = 'θεῶν', DP = 'θεοῖς', AP = 'θεούς' } },
		{ { 'λόγος', 'ου' }, { NS = 'λόγος', GS = 'λόγου', DS = 'λόγῳ', AS = 'λόγον', VS = 'λόγε', ND = 'λόγω', GD = 'λόγοιν', NP = 'λόγοι', GP = 'λόγων', DP = 'λόγοις', AP = 'λόγους' } },
		{ { 'δοῦλος', 'ου' }, { NS = 'δοῦλος', GS = 'δούλου', DS = 'δούλῳ', AS = 'δοῦλον', VS = 'δοῦλε', ND = 'δούλω', GD = 'δούλοιν', NP = 'δοῦλοι', GP = 'δούλων', DP = 'δούλοις', AP = 'δούλους' } },
		{ { 'ᾰ̓́νθρωπος', 'ου' }, { NS = 'ᾰ̓́νθρωπος', GS = 'ᾰ̓νθρώπου', DS = 'ᾰ̓νθρώπῳ', AS = 'ᾰ̓́νθρωπον', VS = 'ᾰ̓́νθρωπε', ND = 'ᾰ̓νθρώπω', GD = 'ᾰ̓νθρώποιν', NP = 'ᾰ̓́νθρωποι', GP = 'ᾰ̓νθρώπων', DP = 'ᾰ̓νθρώποις', AP = 'ᾰ̓νθρώπους' } },
		{ { 'Ᾰ̓θηναῖος', 'ου' }, { NS = 'Ᾰ̓θηναῖος', GS = 'Ᾰ̓θηναίου', DS = 'Ᾰ̓θηναίῳ', AS = 'Ᾰ̓θηναῖον', VS = 'Ᾰ̓θηναῖε', ND = 'Ᾰ̓θηναίω', GD = 'Ᾰ̓θηναίοιν', NP = 'Ᾰ̓θηναῖοι', GP = 'Ᾰ̓θηναίων', DP = 'Ᾰ̓θηναίοις', AP = 'Ᾰ̓θηναίους' } },
		'Masculine (contracted)',
		{ { 'πλοῦς', 'οῦ' }, { NS = 'πλοῦς', GS = 'πλοῦ', DS = 'πλῷ', AS = 'πλοῦν', VS = 'πλοῦ', ND = 'πλώ', GD = 'πλοῖν', NP = 'πλοῖ', GP = 'πλῶν', DP = 'πλοῖς', AP = 'πλοῦς' } },
		{ { 'Πειρίθους', 'ου' }, { NS = 'Πειρίθους', GS = 'Πειρίθου', DS = 'Πειρίθῳ', AS = 'Πειρίθουν', VS = 'Πειρίθου', ND = 'Πειρίθω', GD = 'Πειρίθοιν', NP = 'Πειρίθοι', GP = 'Πειρίθων', DP = 'Πειρίθοις', AP = 'Πειρίθους' } },
		'Attic',
		{ { 'νεώς', 'ώ' }, { NS = 'νεώς', GS = 'νεώ', DS = 'νεῴ', AS = 'νεώ(ν)', ND = 'νεώ', GD = 'νεῴν', NP = 'νεῴ', GP = 'νεών', DP = 'νεῴς', AP = 'νεώς' } },
		'Neuter',
		{ { 'ἄροτρον', 'ου' }, { NS = 'ἄροτρον', GS = 'ἀρότρου', DS = 'ἀρότρῳ', ND = 'ἀρότρω', GD = 'ἀρότροιν', NP = 'ἄροτρᾰ', GP = 'ἀρότρων', DP = 'ἀρότροις' } },
		{ { 'ᾰ̓́ντρον', 'ου' }, { NS = 'ᾰ̓́ντρον', GS = 'ᾰ̓́ντρου', DS = 'ᾰ̓́ντρῳ', ND = 'ᾰ̓́ντρω', GD = 'ᾰ̓́ντροιν', NP = 'ᾰ̓́ντρᾰ', GP = 'ᾰ̓́ντρων', DP = 'ᾰ̓́ντροις' } },
		{ { 'δῶρον', 'ου' }, { NS = 'δῶρον', GS = 'δώρου', DS = 'δώρῳ', ND = 'δώρω', GD = 'δώροιν', NP = 'δῶρᾰ', GP = 'δώρων', DP = 'δώροις' } },
		{ { 'ᾠόν', 'οῦ' }, { NS = 'ᾠόν', GS = 'ᾠοῦ', DS = 'ᾠῷ', ND = 'ᾠώ', GD = 'ᾠοῖν', NP = 'ᾠᾰ́', GP = 'ᾠῶν', DP = 'ᾠοῖς' } },
		{ { 'πεδῐ́ον', 'ου' }, { NS = 'πεδῐ́ον', GS = 'πεδῐ́ου', DS = 'πεδῐ́ῳ', ND = 'πεδῐ́ω', GD = 'πεδῐ́οιν', NP = 'πεδῐ́ᾰ', GP = 'πεδῐ́ων', DP = 'πεδῐ́οις' } },
		'Neuter (contracted)',
		{ { 'ὀστοῦν', 'οῦ' }, { NS = 'ὀστοῦν', GS = 'ὀστοῦ', DS = 'ὀστῷ', ND = 'ὀστώ', GD = 'ὀστοῖν', NP = 'ὀστᾶ', GP = 'ὀστῶν', DP = 'ὀστοῖς' } },
	}
	iterate(examples)
end

function tests:test_grc_decl_third_cons()
	local examples = {
		'Velar (-αξ)',
		{ { 'κλῖμᾰξ', 'κλῑ́μᾰκος' }, { NS = 'κλῖμᾰξ', GS = 'κλῑ́μᾰκος', DS = 'κλῑ́μᾰκῐ', AS = 'κλῑ́μᾰκᾰ', ND = 'κλῑ́μᾰκε', GD = 'κλῑμᾰ́κοιν', NP = 'κλῑ́μᾰκες', GP = 'κλῑμᾰ́κων', DP = 'κλῑ́μᾰξῐ(ν)', AP = 'κλῑ́μᾰκᾰς' } },
		{ { 'φῠ́λᾰξ', 'φῠ́λᾰκος' }, { NS = 'φῠ́λᾰξ', GS = 'φῠ́λᾰκος', DS = 'φῠ́λᾰκῐ', AS = 'φῠ́λᾰκᾰ', ND = 'φῠ́λᾰκε', GD = 'φῠλᾰ́κοιν', NP = 'φῠ́λᾰκες', GP = 'φῠλᾰ́κων', DP = 'φῠ́λᾰξῐ(ν)', AP = 'φῠ́λᾰκᾰς' } },
		{ { 'δρᾰ́ξ', 'δρᾰκός' }, { NS = 'δρᾰ́ξ', GS = 'δρᾰκός', DS = 'δρᾰκῐ́', AS = 'δρᾰ́κᾰ', ND = 'δρᾰ́κε', GD = 'δρᾰκοῖν', NP = 'δρᾰ́κες', GP = 'δρᾰκῶν', DP = 'δρᾰξῐ́(ν)', AP = 'δρᾰ́κᾰς' } },
		'Velar (-ιξ)',
		{ { 'φοῖνῐξ', 'φοίνῑκος' }, { NS = 'φοῖνῐξ', GS = 'φοίνῑκος', DS = 'φοίνῑκῐ', AS = 'φοίνῑκᾰ', ND = 'φοίνῑκε', GD = 'φοινῑ́κοιν', NP = 'φοίνῑκες', GP = 'φοινῑ́κων', DP = 'φοίνῑξῐ(ν)', AP = 'φοίνῑκᾰς' } },
		{ { 'μάστῑξ', 'μάστῑγος' }, { NS = 'μάστῑξ', GS = 'μάστῑγος', DS = 'μάστῑγῐ', AS = 'μάστῑγᾰ', ND = 'μάστῑγε', GD = 'μαστῑ́γοιν', NP = 'μάστῑγες', GP = 'μαστῑ́γων', DP = 'μάστῑξῐ(ν)', AP = 'μάστῑγᾰς' } },
		{ { 'θρῐ́ξ', 'τρῐ́χος' }, { NS = 'θρῐ́ξ', GS = 'τρῐχός', DS = 'τρῐχῐ́', AS = 'τρῐ́χᾰ', ND = 'τρῐ́χε', GD = 'τρῐχοῖν', NP = 'τρῐ́χες', GP = 'τρῐχῶν', DP = 'τρῐξῐ́(ν)', AP = 'τρῐ́χᾰς' } },
		'Velar (-υξ)',
		{ { 'κῆρῠξ', 'κήρῡκος' }, { NS = 'κῆρῠξ', GS = 'κήρῡκος', DS = 'κήρῡκῐ', AS = 'κήρῡκᾰ', ND = 'κήρῡκε', GD = 'κηρῡ́κοιν', NP = 'κήρῡκες', GP = 'κηρῡ́κων', DP = 'κήρῡξῐ(ν)', AP = 'κήρῡκᾰς' } },
		{ { 'πτέρῠξ', 'πτέρῠγος' }, { NS = 'πτέρῠξ', GS = 'πτέρῠγος', DS = 'πτέρῠγῐ', AS = 'πτέρῠγᾰ', ND = 'πτέρῠγε', GD = 'πτερῠ́γοιν', NP = 'πτέρῠγες', GP = 'πτερῠ́γων', DP = 'πτέρῠξῐ(ν)', AP = 'πτέρῠγᾰς' } },
		{ { 'ὄνῠξ', 'ὄνῠχος' }, { NS = 'ὄνῠξ', GS = 'ὄνῠχος', DS = 'ὄνῠχῐ', AS = 'ὄνῠχᾰ', ND = 'ὄνῠχε', GD = 'ὀνῠ́χοιν', NP = 'ὄνῠχες', GP = 'ὀνῠ́χων', DP = 'ὄνῠξῐ(ν)', AP = 'ὄνῠχᾰς' } },
		{ { 'νῠ́ξ', 'νῠκτός' }, { NS = 'νῠ́ξ', GS = 'νῠκτός', DS = 'νῠκτῐ́', AS = 'νῠ́κτᾰ', ND = 'νῠ́κτε', GD = 'νῠκτοῖν', NP = 'νῠ́κτες', GP = 'νῠκτῶν', DP = 'νῠξῐ́(ν)', AP = 'νῠ́κτᾰς' } },
		{ { 'Πνύξ', 'Πῠκνός' }, { NS = 'Πνύξ', GS = 'Πῠκνός', DS = 'Πῠκνῐ́', AS = 'Πῠ́κνᾰ', ND = 'Πῠ́κνε', GD = 'Πῠκνοῖν', NP = 'Πῠ́κνες', GP = 'Πῠκνῶν', DP = 'Πῠκσῐ́(ν)', AP = 'Πῠ́κνᾰς' } },
		{ { 'πῡ́ξ', 'πῡγός' }, { NS = 'πῡ́ξ', GS = 'πῡγός', DS = 'πῡγῐ́', AS = 'πῦγᾰ', ND = 'πῦγε', GD = 'πῡγοῖν', NP = 'πῦγες', GP = 'πῡγῶν', DP = 'πῡξῐ́(ν)', AP = 'πῦγᾰς' } },
		'Velar (-αγξ)',
		{ { 'σῆρᾰγξ', 'σήρᾰγγος' }, { NS = 'σῆρᾰγξ', GS = 'σήρᾰγγος', DS = 'σήρᾰγγῐ', AS = 'σήρᾰγγᾰ', ND = 'σήρᾰγγε', GD = 'σηρᾰ́γγοιν', NP = 'σήρᾰγγες', GP = 'σηρᾰ́γγων', DP = 'σήρᾰγξῐ(ν)', AP = 'σήρᾰγγᾰς' } },
		{ { 'φᾰ́λᾰγξ', 'φᾰ́λᾰγγος' }, { NS = 'φᾰ́λᾰγξ', GS = 'φᾰ́λᾰγγος', DS = 'φᾰ́λᾰγγῐ', AS = 'φᾰ́λᾰγγᾰ', ND = 'φᾰ́λᾰγγε', GD = 'φᾰλᾰ́γγοιν', NP = 'φᾰ́λᾰγγες', GP = 'φᾰλᾰ́γγων', DP = 'φᾰ́λᾰγξῐ(ν)', AP = 'φᾰ́λᾰγγᾰς' } },
		{ { 'στρᾰ́γξ', 'στρᾰγγός' }, { NS = 'στρᾰ́γξ', GS = 'στρᾰγγός', DS = 'στρᾰγγῐ́', AS = 'στρᾰ́γγᾰ', ND = 'στρᾰ́γγε', GD = 'στρᾰγγοῖν', NP = 'στρᾰ́γγες', GP = 'στρᾰγγῶν', DP = 'στρᾰγξῐ́(ν)', AP = 'στρᾰ́γγᾰς' } },
		'Velar (-ιγξ)',
		{ { 'στῆρῐγξ', 'στήρῐγγος' }, { NS = 'στῆρῐγξ', GS = 'στήρῐγγος', DS = 'στήρῐγγῐ', AS = 'στήρῐγγᾰ', ND = 'στήρῐγγε', GD = 'στηρῐ́γγοιν', NP = 'στήρῐγγες', GP = 'στηρῐ́γγων', DP = 'στήρῐγξῐ(ν)', AP = 'στήρῐγγᾰς' } },
		{ { 'σᾰ́λπῐγξ', 'σᾰ́λπῐγγος' }, { NS = 'σᾰ́λπῐγξ', GS = 'σᾰ́λπῐγγος', DS = 'σᾰ́λπῐγγῐ', AS = 'σᾰ́λπῐγγᾰ', ND = 'σᾰ́λπῐγγε', GD = 'σᾰλπῐ́γγοιν', NP = 'σᾰ́λπῐγγες', GP = 'σᾰλπῐ́γγων', DP = 'σᾰ́λπῐγξῐ(ν)', AP = 'σᾰ́λπῐγγᾰς' } },
		{ { 'Σφῐ́γξ', 'Σφῐγγός' }, { NS = 'Σφῐ́γξ', GS = 'Σφῐγγός', DS = 'Σφῐγγῐ́', AS = 'Σφῐ́γγᾰ', ND = 'Σφῐ́γγε', GD = 'Σφῐγγοῖν', NP = 'Σφῐ́γγες', GP = 'Σφῐγγῶν', DP = 'Σφῐγξῐ́(ν)', AP = 'Σφῐ́γγᾰς' } },
		'Velar (-υγξ)',
		{ { 'σπῆλῠγξ', 'σπήλῠγγος' }, { NS = 'σπῆλῠγξ', GS = 'σπήλῠγγος', DS = 'σπήλῠγγῐ', AS = 'σπήλῠγγᾰ', ND = 'σπήλῠγγε', GD = 'σπηλῠ́γγοιν', NP = 'σπήλῠγγες', GP = 'σπηλῠ́γγων', DP = 'σπήλῠγξῐ(ν)', AP = 'σπήλῠγγᾰς' } },
		{ { 'φᾰ́ρῠγξ', 'φᾰ́ρῠγος' }, { NS = 'φᾰ́ρῠγξ', GS = 'φᾰ́ρῠγος', DS = 'φᾰ́ρῠγῐ', AS = 'φᾰ́ρῠγᾰ', ND = 'φᾰ́ρῠγε', GD = 'φᾰρῠ́γοιν', NP = 'φᾰ́ρῠγες', GP = 'φᾰρῠ́γων', DP = 'φᾰ́ρῠξῐ(ν)', AP = 'φᾰ́ρῠγᾰς' } },
		{ { 'λύγξ', 'λῠγκός' }, { NS = 'λῠ́γξ', GS = 'λῠγκός', DS = 'λῠγκῐ́', AS = 'λῠ́γκᾰ', ND = 'λῠ́γκε', GD = 'λῠγκοῖν', NP = 'λῠ́γκες', GP = 'λῠγκῶν', DP = 'λῠγξῐ́(ν)', AP = 'λῠ́γκᾰς' } },
		'Velar (-ηξ)',
		{ { 'ἀλώπηξ', 'ἀλώπεκος' }, { NS = 'ἀλώπηξ', GS = 'ἀλώπεκος', DS = 'ἀλώπεκῐ', AS = 'ἀλώπεκᾰ', ND = 'ἀλώπεκε', GD = 'ἀλωπέκοιν', NP = 'ἀλώπεκες', GP = 'ἀλωπέκων', DP = 'ἀλώπεξῐ(ν)', AP = 'ἀλώπεκᾰς' } },
		{ { 'πλήξ', 'πληγός' }, { NS = 'πλήξ', GS = 'πληγός', DS = 'πληγῐ́', AS = 'πλῆγᾰ', ND = 'πλῆγε', GD = 'πληγοῖν', NP = 'πλῆγες', GP = 'πληγῶν', DP = 'πληξῐ́(ν)', AP = 'πλῆγᾰς' } },
		'Velar (-οξ)',
		{ { 'ᾰ̓́λοξ', 'ᾰ̓́λοκος' }, { NS = 'ᾰ̓́λοξ', GS = 'ᾰ̓́λοκος', DS = 'ᾰ̓́λοκῐ', AS = 'ᾰ̓́λοκᾰ', ND = 'ᾰ̓́λοκε', GD = 'ᾰ̓λόκοιν', NP = 'ᾰ̓́λοκες', GP = 'ᾰ̓λόκων', DP = 'ᾰ̓́λοξῐ(ν)', AP = 'ᾰ̓́λοκᾰς' } },
		{ { 'φλόξ', 'φλογός' }, { NS = 'φλόξ', GS = 'φλογός', DS = 'φλογῐ́', AS = 'φλόγᾰ', ND = 'φλόγε', GD = 'φλογοῖν', NP = 'φλόγες', GP = 'φλογῶν', DP = 'φλοξῐ́(ν)', AP = 'φλόγᾰς' } },
		'Velar (-ωξ)',
		{ { 'θηροδῐ́ωξ', 'θηροδῐ́ωκος' }, { NS = 'θηροδῐ́ωξ', GS = 'θηροδῐ́ωκος', DS = 'θηροδῐ́ωκῐ', AS = 'θηροδῐ́ωκᾰ', ND = 'θηροδῐ́ωκε', GD = 'θηροδῐώκοιν', NP = 'θηροδῐ́ωκες', GP = 'θηροδῐώκων', DP = 'θηροδῐ́ωξῐ(ν)', AP = 'θηροδῐ́ωκᾰς' } },
		{ { 'βῶξ', 'βωκός' }, { NS = 'βῶξ', GS = 'βωκός', DS = 'βωκῐ́', AS = 'βῶκᾰ', ND = 'βῶκε', GD = 'βωκοῖν', NP = 'βῶκες', GP = 'βωκῶν', DP = 'βωξῐ́(ν)', AP = 'βῶκᾰς' } },
		{ { 'πτώξ', 'πτωκός' }, { NS = 'πτώξ', GS = 'πτωκός', DS = 'πτωκῐ́', AS = 'πτῶκᾰ', ND = 'πτῶκε', GD = 'πτωκοῖν', NP = 'πτῶκες', GP = 'πτωκῶν', DP = 'πτωξῐ́(ν)', AP = 'πτῶκᾰς' } },
		'Dental (-ας)',
		{ { 'ἐρῠσῐ́πελᾰς', 'ἐρῠσῐπέλᾰτος' }, { NS = 'ἐρῠσῐ́πελᾰς', GS = 'ἐρῠσῐπέλᾰτος', DS = 'ἐρῠσῐπέλᾰτῐ', AS = 'ἐρῠσῐ́πελᾰς', ND = 'ἐρῠσῐπέλᾰτε', GD = 'ἐρῠσῐπελᾰ́τοιν', NP = 'ἐρῠσῐπέλᾰτᾰ', GP = 'ἐρῠσῐπελᾰ́των', DP = 'ἐρῠσῐπέλᾰσῐ(ν)', AP = 'ἐρῠσῐπέλᾰτᾰ' } },
		{ { 'ἅλᾱς', 'ἅλᾰτος' }, { NS = 'ἅλᾱς', GS = 'ἅλᾰτος', DS = 'ἅλᾰτῐ', AS = 'ἅλᾱς', ND = 'ἅλᾰτε', GD = 'ἁλᾰ́τοιν', NP = 'ἅλᾰτᾰ', GP = 'ἁλᾰ́των', DP = 'ἅλᾰσῐ(ν)', AP = 'ἅλᾰτᾰ' } },
		{ { 'δεκᾰ́ς', 'δεκᾰ́δος' }, { NS = 'δεκᾰ́ς', GS = 'δεκᾰ́δος', DS = 'δεκᾰ́δῐ', AS = 'δεκᾰ́δᾰ', ND = 'δεκᾰ́δε', GD = 'δεκᾰ́δοιν', NP = 'δεκᾰ́δες', GP = 'δεκᾰ́δων', DP = 'δεκᾰ́σῐ(ν)', AP = 'δεκᾰ́δᾰς' } },
		'Dental (-ας, -αντ-)',
		{ { 'ἐλέφᾱς', 'ἐλέφᾰντος' }, { NS = 'ἐλέφᾱς', GS = 'ἐλέφᾰντος', DS = 'ἐλέφᾰντῐ', AS = 'ἐλέφᾰντᾰ', VS = 'ἐλέφᾰν', ND = 'ἐλέφᾰντε', GD = 'ἐλεφᾰ́ντοιν', NP = 'ἐλέφᾰντες', GP = 'ἐλεφᾰ́ντων', DP = 'ἐλέφᾱσῐ(ν)', AP = 'ἐλέφᾰντᾰς' } },
		{ { 'ᾰ̓νδρῐᾱ́ς', 'ᾰ̓νδρῐᾰ́ντος' }, { NS = 'ᾰ̓νδρῐᾱ́ς', GS = 'ᾰ̓νδρῐᾰ́ντος', DS = 'ᾰ̓νδρῐᾰ́ντῐ', AS = 'ᾰ̓νδρῐᾰ́ντᾰ', VS = 'ᾰ̓νδρῐᾰ́ν', ND = 'ᾰ̓νδρῐᾰ́ντε', GD = 'ᾰ̓νδρῐᾰ́ντοιν', NP = 'ᾰ̓νδρῐᾰ́ντες', GP = 'ᾰ̓νδρῐᾰ́ντων', DP = 'ᾰ̓νδρῐᾶσῐ(ν)', AP = 'ᾰ̓νδρῐᾰ́ντᾰς' } },
		-- Need to verify accentuation of VS: acute or circumflex? Or the form may simply not exist.
		{ { 'ᾰ̓νδρῐᾱ́ς', 'ᾰ̓νδρῐᾶντος' }, { NS = 'ᾰ̓νδρῐᾱ́ς', GS = 'ᾰ̓νδρῐᾶντος', DS = 'ᾰ̓νδρῐᾶντῐ', AS = 'ᾰ̓νδρῐᾶντᾰ', VS = 'ᾰ̓νδρῐᾱ́ν', ND = 'ᾰ̓νδρῐᾶντε', GD = 'ᾰ̓νδρῐᾱ́ντοιν', NP = 'ᾰ̓νδρῐᾶντες', GP = 'ᾰ̓νδρῐᾱ́ντων', DP = 'ᾰ̓νδρῐᾶσῐ(ν)', AP = 'ᾰ̓νδρῐᾶντᾰς' } },
		'Dental (-ις)',
		{ { 'ᾰ̓́γρωστῐς', 'ᾰ̓γρώστῐδος' }, { NS = 'ᾰ̓́γρωστῐς', GS = 'ᾰ̓γρώστῐδος', DS = 'ᾰ̓γρώστῐδῐ', AS = 'ᾰ̓γρώστῐδᾰ', ND = 'ᾰ̓γρώστῐδε', GD = 'ᾰ̓γρωστῐ́δοιν', NP = 'ᾰ̓γρώστῐδες', GP = 'ᾰ̓γρωστῐ́δων', DP = 'ᾰ̓γρώστῐσῐ(ν)', AP = 'ᾰ̓γρώστῐδᾰς' } },
		{ { 'ὄρνῑς', 'ὄρνῑθος' }, { NS = 'ὄρνῑς', GS = 'ὄρνῑθος', DS = 'ὄρνῑθῐ', AS = 'ὄρνῑθᾰ', ND = 'ὄρνῑθε', GD = 'ὀρνῑ́θοιν', NP = 'ὄρνῑθες', GP = 'ὀρνῑ́θων', DP = 'ὄρνῑσῐ(ν)', AP = 'ὄρνῑθᾰς' } },
		{ { 'ᾰ̓σπίς', 'ᾰ̓σπῐ́δος' }, { NS = 'ᾰ̓σπῐ́ς', GS = 'ᾰ̓σπῐ́δος', DS = 'ᾰ̓σπῐ́δῐ', AS = 'ᾰ̓σπῐ́δᾰ', ND = 'ᾰ̓σπῐ́δε', GD = 'ᾰ̓σπῐ́δοιν', NP = 'ᾰ̓σπῐ́δες', GP = 'ᾰ̓σπῐ́δων', DP = 'ᾰ̓σπῐ́σῐ(ν)', AP = 'ᾰ̓σπῐ́δᾰς' } },
		'Dental (-υς)',
		{ { 'κώμῡς', 'κώμῡθος' }, { NS = 'κώμῡς', GS = 'κώμῡθος', DS = 'κώμῡθῐ', AS = 'κώμῡθᾰ', ND = 'κώμῡθε', GD = 'κωμῡ́θοιν', NP = 'κώμῡθες', GP = 'κωμῡ́θων', DP = 'κώμῡσῐ(ν)', AP = 'κώμῡθᾰς' } },
		{ { 'ἐμῠ́ς', 'ἐμῠ́δος' }, { NS = 'ἐμῠ́ς', GS = 'ἐμῠ́δος', DS = 'ἐμῠ́δῐ', AS = 'ἐμῠ́δᾰ', ND = 'ἐμῠ́δε', GD = 'ἐμῠ́δοιν', NP = 'ἐμῠ́δες', GP = 'ἐμῠ́δων', DP = 'ἐμῠ́σῐ(ν)', AP = 'ἐμῠ́δᾰς' } },
		'Dental (-ης)',
		{ { 'ἀθεότης', 'ἀθεότητος' }, { NS = 'ἀθεότης', GS = 'ἀθεότητος', DS = 'ἀθεότητῐ', AS = 'ἀθεότητᾰ', ND = 'ἀθεότητε', GD = 'ἀθεοτήτοιν', NP = 'ἀθεότητες', GP = 'ἀθεοτήτων', DP = 'ἀθεότησῐ(ν)', AP = 'ἀθεότητᾰς' } },
		{ { 'θής', 'θητός' }, { NS = 'θής', GS = 'θητός', DS = 'θητῐ́', AS = 'θῆτᾰ', ND = 'θῆτε', GD = 'θητοῖν', NP = 'θῆτες', GP = 'θητῶν', DP = 'θησῐ́(ν)', AP = 'θῆτᾰς' } },
		'Dental (-ως)',
		{ { 'ῥῑνόκερως', 'ῥῑνοκέρωτος' }, { NS = 'ῥῑνόκερως', GS = 'ῥῑνοκέρωτος', DS = 'ῥῑνοκέρωτῐ', AS = 'ῥῑνοκέρωτᾰ', ND = 'ῥῑνοκέρωτε', GD = 'ῥῑνοκερώτοιν', NP = 'ῥῑνοκέρωτες', GP = 'ῥῑνοκερώτων', DP = 'ῥῑνοκέρωσῐ(ν)', AP = 'ῥῑνοκέρωτᾰς' } },
		{ { 'ἔρως', 'ἔρωτος' }, { NS = 'ἔρως', GS = 'ἔρωτος', DS = 'ἔρωτῐ', AS = 'ἔρωτᾰ', ND = 'ἔρωτε', GD = 'ἐρώτοιν', NP = 'ἔρωτες', GP = 'ἐρώτων', DP = 'ἔρωσῐ(ν)', AP = 'ἔρωτᾰς' } },
		{ { 'φώς', 'φωτός' }, { NS = 'φώς', GS = 'φωτός', DS = 'φωτῐ́', AS = 'φῶτᾰ', ND = 'φῶτε', GD = 'φωτοῖν', NP = 'φῶτες', GP = 'φωτῶν', DP = 'φωσῐ́(ν)', AP = 'φῶτᾰς' } },
		'Dental (irregular)',
		{ { 'κλείς', 'κλειδός' }, { NS = 'κλείς', GS = 'κλειδός', DS = 'κλειδῐ́', AS = 'κλεῖδᾰ', ND = 'κλεῖδε', GD = 'κλειδοῖν', NP = 'κλεῖδες', GP = 'κλειδῶν', DP = 'κλεισῐ́(ν)', AP = 'κλεῖδᾰς' } },
		{ { 'πούς', 'ποδός' }, { NS = 'πούς', GS = 'ποδός', DS = 'ποδῐ́', AS = 'πόδᾰ', ND = 'πόδε', GD = 'ποδοῖν', NP = 'πόδες', GP = 'ποδῶν', DP = 'ποσῐ́(ν)', AP = 'πόδᾰς' } },
		{ { 'ὀδούς', 'ὀδόντος' }, { NS = 'ὀδούς', GS = 'ὀδόντος', DS = 'ὀδόντῐ', AS = 'ὀδόντᾰ', VS = 'ὀδόν', ND = 'ὀδόντε', GD = 'ὀδόντοιν', NP = 'ὀδόντες', GP = 'ὀδόντων', DP = 'ὀδοῦσῐ(ν)', AP = 'ὀδόντᾰς' } },
		'Labial (-αψ)',
		{ { 'λαῖλᾰψ', 'λαίλᾰπος' }, { NS = 'λαῖλᾰψ', GS = 'λαίλᾰπος', DS = 'λαίλᾰπῐ', AS = 'λαίλᾰπᾰ', ND = 'λαίλᾰπε', GD = 'λαιλᾰ́ποιν', NP = 'λαίλᾰπες', GP = 'λαιλᾰ́πων', DP = 'λαίλᾰψῐ(ν)', AP = 'λαίλᾰπᾰς' } },
		{ { 'θέρᾰψ', 'θέρᾰπος' }, { NS = 'θέρᾰψ', GS = 'θέρᾰπος', DS = 'θέρᾰπῐ', AS = 'θέρᾰπᾰ', ND = 'θέρᾰπε', GD = 'θερᾰ́ποιν', NP = 'θέρᾰπες', GP = 'θερᾰ́πων', DP = 'θέρᾰψῐ(ν)', AP = 'θέρᾰπᾰς' } },
		{ { 'φάψ', 'φᾰβός' }, { NS = 'φᾰ́ψ', GS = 'φᾰβός', DS = 'φᾰβῐ́', AS = 'φᾰ́βᾰ', ND = 'φᾰ́βε', GD = 'φᾰβοῖν', NP = 'φᾰ́βες', GP = 'φᾰβῶν', DP = 'φᾰψῐ́(ν)', AP = 'φᾰ́βᾰς' } },
		'Labial (-ιψ)',
		{ { 'κᾰτῆλῐψ', 'κᾰτήλῐφος' }, { NS = 'κᾰτῆλῐψ', GS = 'κᾰτήλῐφος', DS = 'κᾰτήλῐφῐ', AS = 'κᾰτήλῐφᾰ', ND = 'κᾰτήλῐφε', GD = 'κᾰτηλῐ́φοιν', NP = 'κᾰτήλῐφες', GP = 'κᾰτηλῐ́φων', DP = 'κᾰτήλῐψῐ(ν)', AP = 'κᾰτήλῐφᾰς' } },
		{ { 'χέρνιψ', 'χέρνιβος' }, { NS = 'χέρνιψ', GS = 'χέρνιβος', DS = 'χέρνιβῐ', AS = 'χέρνιβᾰ', ND = 'χέρνιβε', GD = 'χερνίβοιν', NP = 'χέρνιβες', GP = 'χερνίβων', DP = 'χέρνιψῐ(ν)', AP = 'χέρνιβᾰς' } },
		{ { 'λίψ', 'λῐβός' }, { NS = 'λῐ́ψ', GS = 'λῐβός', DS = 'λῐβῐ́', AS = 'λῐ́βᾰ', ND = 'λῐ́βε', GD = 'λῐβοῖν', NP = 'λῐ́βες', GP = 'λῐβῶν', DP = 'λῐψῐ́(ν)', AP = 'λῐ́βᾰς' } },
		{ { 'σκνῑ́ψ', 'σκνῑπός' }, { NS = 'σκνῑ́ψ', GS = 'σκνῑπός', DS = 'σκνῑπῐ́', AS = 'σκνῖπᾰ', ND = 'σκνῖπε', GD = 'σκνῑποῖν', NP = 'σκνῖπες', GP = 'σκνῑπῶν', DP = 'σκνῑψῐ́(ν)', AP = 'σκνῖπᾰς' } },
		'Labial (-υψ)',
		{ { 'χᾰ́λῠψ', 'χᾰ́λῠβος' }, { NS = 'χᾰ́λῠψ', GS = 'χᾰ́λῠβος', DS = 'χᾰ́λῠβῐ', AS = 'χᾰ́λῠβᾰ', ND = 'χᾰ́λῠβε', GD = 'χᾰλῠ́βοιν', NP = 'χᾰ́λῠβες', GP = 'χᾰλῠ́βων', DP = 'χᾰ́λῠψῐ(ν)', AP = 'χᾰ́λῠβᾰς' } },
		{ { 'γῡ́ψ', 'γῡπός' }, { NS = 'γῡ́ψ', GS = 'γῡπός', DS = 'γῡπῐ́', AS = 'γῦπᾰ', ND = 'γῦπε', GD = 'γῡποῖν', NP = 'γῦπες', GP = 'γῡπῶν', DP = 'γῡψῐ́(ν)', AP = 'γῦπᾰς' } },
		'Labial (-εψ)',
		{ { 'κᾰτῶβλεψ', 'κᾰτώβλεπος' }, { NS = 'κᾰτῶβλεψ', GS = 'κᾰτώβλεπος', DS = 'κᾰτώβλεπῐ', AS = 'κᾰτώβλεπᾰ', ND = 'κᾰτώβλεπε', GD = 'κᾰτωβλέποιν', NP = 'κᾰτώβλεπες', GP = 'κᾰτωβλέπων', DP = 'κᾰτώβλεψῐ(ν)', AP = 'κᾰτώβλεπᾰς' } },
		{ { 'μελᾰνόφλεψ', 'μελᾰνόφλεβος' }, { NS = 'μελᾰνόφλεψ', GS = 'μελᾰνόφλεβος', DS = 'μελᾰνόφλεβῐ', AS = 'μελᾰνόφλεβᾰ', ND = 'μελᾰνόφλεβε', GD = 'μελᾰνοφλέβοιν', NP = 'μελᾰνόφλεβες', GP = 'μελᾰνοφλέβων', DP = 'μελᾰνόφλεψῐ(ν)', AP = 'μελᾰνόφλεβᾰς' } },
		{ { 'φλέψ', 'φλεβός' }, { NS = 'φλέψ', GS = 'φλεβός', DS = 'φλεβῐ́', AS = 'φλέβᾰ', ND = 'φλέβε', GD = 'φλεβοῖν', NP = 'φλέβες', GP = 'φλεβῶν', DP = 'φλεψῐ́(ν)', AP = 'φλέβᾰς' } },
		'Labial (-ηψ)',
		{ { 'κώληψ', 'κώληπος' }, { NS = 'κώληψ', GS = 'κώληπος', DS = 'κώληπῐ', AS = 'κώληπᾰ', ND = 'κώληπε', GD = 'κωλήποιν', NP = 'κώληπες', GP = 'κωλήπων', DP = 'κώληψῐ(ν)', AP = 'κώληπᾰς' } },
		{ { 'σήψ', 'σηπός' }, { NS = 'σήψ', GS = 'σηπός', DS = 'σηπῐ́', AS = 'σῆπᾰ', ND = 'σῆπε', GD = 'σηποῖν', NP = 'σῆπες', GP = 'σηπῶν', DP = 'σηψῐ́(ν)', AP = 'σῆπᾰς' } },
		'Labial (-οψ)',
		{ { 'κᾰλαῦροψ', 'κᾰλαύροπος' }, { NS = 'κᾰλαῦροψ', GS = 'κᾰλαύροπος', DS = 'κᾰλαύροπῐ', AS = 'κᾰλαύροπᾰ', ND = 'κᾰλαύροπε', GD = 'κᾰλαυρόποιν', NP = 'κᾰλαύροπες', GP = 'κᾰλαυρόπων', DP = 'κᾰλαύροψῐ(ν)', AP = 'κᾰλαύροπᾰς' } },
		{ { 'Αἰθῐ́οψ', 'Αἰθῐ́οπος' }, { NS = 'Αἰθῐ́οψ', GS = 'Αἰθῐ́οπος', DS = 'Αἰθῐ́οπῐ', AS = 'Αἰθῐ́οπᾰ', ND = 'Αἰθῐ́οπε', GD = 'Αἰθῐόποιν', NP = 'Αἰθῐ́οπες', GP = 'Αἰθῐόπων', DP = 'Αἰθῐ́οψῐ(ν)', AP = 'Αἰθῐ́οπᾰς' } },
		{ { 'ὄψ', 'ὀπός' }, { NS = 'ὄψ', GS = 'ὀπός', DS = 'ὀπῐ́', AS = 'ὄπᾰ', ND = 'ὄπε', GD = 'ὀποῖν', NP = 'ὄπες', GP = 'ὀπῶν', DP = 'ὀψῐ́(ν)', AP = 'ὄπᾰς' } },
		'Labial (-ωψ)',
		{ { 'ὕδρωψ', 'ὕδρωπος' }, { NS = 'ὕδρωψ', GS = 'ὕδρωπος', DS = 'ὕδρωπῐ', AS = 'ὕδρωπᾰ', ND = 'ὕδρωπε', GD = 'ὑδρώποιν', NP = 'ὕδρωπες', GP = 'ὑδρώπων', DP = 'ὕδρωψῐ(ν)', AP = 'ὕδρωπᾰς' } },
		{ { 'ὤψ', 'ὠπός' }, { NS = 'ὤψ', GS = 'ὠπός', DS = 'ὠπῐ́', AS = 'ὦπᾰ', ND = 'ὦπε', GD = 'ὠποῖν', NP = 'ὦπες', GP = 'ὠπῶν', DP = 'ὠψῐ́(ν)', AP = 'ὦπᾰς' } },
		'Rhotic (-αρ)',
		{ { 'μᾰ́κᾱρ', 'μᾰ́κᾰρος' }, { NS = 'μᾰ́κᾱρ', GS = 'μᾰ́κᾰρος', DS = 'μᾰ́κᾰρῐ', AS = 'μᾰ́κᾰρᾰ', VS = 'μᾰ́κᾰρ', ND = 'μᾰ́κᾰρε', GD = 'μᾰκᾰ́ροιν', NP = 'μᾰ́κᾰρες', GP = 'μᾰκᾰ́ρων', DP = 'μᾰ́κᾰρσῐ(ν)', AP = 'μᾰ́κᾰρᾰς' } },
		{ { 'ψᾱ́ρ', 'ψᾱρός' }, { NS = 'ψᾱ́ρ', GS = 'ψᾱρός', DS = 'ψᾱρῐ́', AS = 'ψᾶρᾰ', ND = 'ψᾶρε', GD = 'ψᾱροῖν', NP = 'ψᾶρες', GP = 'ψᾱρῶν', DP = 'ψᾱρσῐ́(ν)', AP = 'ψᾶρᾰς' } },
		'Rhotic (-ηρ)',
		{ { 'πάνθηρ', 'πάνθηρος' }, { NS = 'πάνθηρ', GS = 'πάνθηρος', DS = 'πάνθηρῐ', AS = 'πάνθηρᾰ', ND = 'πάνθηρε', GD = 'πανθήροιν', NP = 'πάνθηρες', GP = 'πανθήρων', DP = 'πάνθηρσῐ(ν)', AP = 'πάνθηρᾰς' } },
		{ { 'Δημήτηρ', 'Δημήτερος' }, { NS = 'Δημήτηρ', GS = 'Δημήτερος', DS = 'Δημήτερῐ', AS = 'Δημήτερᾰ', VS = 'Δημῆτερ', ND = 'Δημήτερε', GD = 'Δημητέροιν', NP = 'Δημήτερες', GP = 'Δημητέρων', DP = 'Δημήτερσῐ(ν)', AP = 'Δημήτερᾰς' } },
		{ { 'δρηστήρ', 'δρηστῆρος' }, { NS = 'δρηστήρ', GS = 'δρηστῆρος', DS = 'δρηστῆρῐ', AS = 'δρηστῆρᾰ', ND = 'δρηστῆρε', GD = 'δρηστήροιν', NP = 'δρηστῆρες', GP = 'δρηστήρων', DP = 'δρηστῆρσῐ(ν)', AP = 'δρηστῆρᾰς' } },
		{ { 'Κῆρ', 'Κηρός' }, { NS = 'Κῆρ', GS = 'Κηρός', DS = 'Κηρῐ́', AS = 'Κῆρᾰ', ND = 'Κῆρε', GD = 'Κηροῖν', NP = 'Κῆρες', GP = 'Κηρῶν', DP = 'Κηρσῐ́(ν)', AP = 'Κῆρᾰς' } },
		{ { 'ἀστήρ', 'ἀστέρος' }, { NS = 'ἀστήρ', GS = 'ἀστέρος', DS = 'ἀστέρῐ', AS = 'ἀστέρᾰ', ND = 'ἀστέρε', GD = 'ἀστέροιν', NP = 'ἀστέρες', GP = 'ἀστέρων', DP = 'ἀστέρσῐ(ν)', AP = 'ἀστέρᾰς' } },
		{ { 'φήρ', 'φηρός' }, { NS = 'φήρ', GS = 'φηρός', DS = 'φηρῐ́', AS = 'φῆρᾰ', ND = 'φῆρε', GD = 'φηροῖν', NP = 'φῆρες', GP = 'φηρῶν', DP = 'φηρσῐ́(ν)', AP = 'φῆρᾰς' } },
		'Rhotic (-ωρ)',
		{ { 'ῥήτωρ', 'ῥήτορος' }, { NS = 'ῥήτωρ', GS = 'ῥήτορος', DS = 'ῥήτορῐ', AS = 'ῥήτορᾰ', VS = 'ῥῆτορ', ND = 'ῥήτορε', GD = 'ῥητόροιν', NP = 'ῥήτορες', GP = 'ῥητόρων', DP = 'ῥήτορσῐ(ν)', AP = 'ῥήτορᾰς' } },
		{ { 'ῑ̓χώρ', 'ῑ̓χῶρος' }, { NS = 'ῑ̓χώρ', GS = 'ῑ̓χῶρος', DS = 'ῑ̓χῶρῐ', AS = 'ῑ̓χῶρᾰ', ND = 'ῑ̓χῶρε', GD = 'ῑ̓χώροιν', NP = 'ῑ̓χῶρες', GP = 'ῑ̓χώρων', DP = 'ῑ̓χῶρσῐ(ν)', AP = 'ῑ̓χῶρᾰς' } },
		{ { 'φώρ', 'φωρός' }, { NS = 'φώρ', GS = 'φωρός', DS = 'φωρῐ́', AS = 'φῶρᾰ', ND = 'φῶρε', GD = 'φωροῖν', NP = 'φῶρες', GP = 'φωρῶν', DP = 'φωρσῐ́(ν)', AP = 'φῶρᾰς' } },
		'Rhotic (irregular)',
		{ { 'μᾰ́ρτῠς', 'μᾰ́ρτῠρος' }, { NS = 'μᾰ́ρτῠς', GS = 'μᾰ́ρτῠρος', DS = 'μᾰ́ρτῠρῐ', AS = 'μᾰ́ρτῠρᾰ', VS = 'μᾰ́ρτῠρ', ND = 'μᾰ́ρτῠρε', GD = 'μᾰρτῠ́ροιν', NP = 'μᾰ́ρτῠρες', GP = 'μᾰρτῠ́ρων', DP = 'μᾰ́ρτῠρσῐ(ν)', AP = 'μᾰ́ρτῠρᾰς' } },
		'Nasal (-ις)',
		{ { 'ἀκτῑ́ς', 'ἀκτῖνος' }, { NS = 'ἀκτῑ́ς', GS = 'ἀκτῖνος', DS = 'ἀκτῖνῐ', AS = 'ἀκτῖνᾰ', ND = 'ἀκτῖνε', GD = 'ἀκτῑ́νοιν', NP = 'ἀκτῖνες', GP = 'ἀκτῑ́νων', DP = 'ἀκτῖσῐ(ν)', AP = 'ἀκτῖνᾰς' } },
		{ { 'ῥῑ́ς', 'ῥῑνός' }, { NS = 'ῥῑ́ς', GS = 'ῥῑνός', DS = 'ῥῑνῐ́', AS = 'ῥῖνᾰ', ND = 'ῥῖνε', GD = 'ῥῑνοῖν', NP = 'ῥῖνες', GP = 'ῥῑνῶν', DP = 'ῥῑσῐ́(ν)', AP = 'ῥῖνᾰς' } },
		'Nasal (-ις)',
		{ { 'ἀρχιποίμην', 'ἀρχιποίμενος' }, { NS = 'ἀρχιποίμην', GS = 'ἀρχιποίμενος', DS = 'ἀρχιποίμενῐ', AS = 'ἀρχιποίμενᾰ', VS = 'ἀρχιποῖμεν', ND = 'ἀρχιποίμενε', GD = 'ἀρχιποιμένοιν', NP = 'ἀρχιποίμενες', GP = 'ἀρχιποιμένων', DP = 'ἀρχιποίμεσῐ(ν)', AP = 'ἀρχιποίμενᾰς' } },
		{ { 'Ἕλλην', 'Ἕλληνος' }, { NS = 'Ἕλλην', GS = 'Ἕλληνος', DS = 'Ἕλληνῐ', AS = 'Ἕλληνᾰ', ND = 'Ἕλληνε', GD = 'Ἑλλήνοιν', NP = 'Ἕλληνες', GP = 'Ἑλλήνων', DP = 'Ἕλλησῐ(ν)', AP = 'Ἕλληνᾰς' } },
		{ { 'αὐχήν', 'αὐχένος' }, { NS = 'αὐχήν', GS = 'αὐχένος', DS = 'αὐχένῐ', AS = 'αὐχένᾰ', ND = 'αὐχένε', GD = 'αὐχένοιν', NP = 'αὐχένες', GP = 'αὐχένων', DP = 'αὐχέσῐ(ν)', AP = 'αὐχένᾰς' } },
		{ { 'Τροιζήν', 'Τροιζῆνος' }, { NS = 'Τροιζήν', GS = 'Τροιζῆνος', DS = 'Τροιζῆνῐ', AS = 'Τροιζῆνᾰ', ND = 'Τροιζῆνε', GD = 'Τροιζήνοιν', NP = 'Τροιζῆνες', GP = 'Τροιζήνων', DP = 'Τροιζῆσῐ(ν)', AP = 'Τροιζῆνᾰς' } },
		{ { 'φρήν', 'φρενός' }, { NS = 'φρήν', GS = 'φρενός', DS = 'φρενῐ́', AS = 'φρένᾰ', ND = 'φρένε', GD = 'φρενοῖν', NP = 'φρένες', GP = 'φρενῶν', DP = 'φρεσῐ́(ν)', AP = 'φρένᾰς' } },
		'Nasal (-ων)',
		{ { 'δαίμων', 'δαίμονος' }, { NS = 'δαίμων', GS = 'δαίμονος', DS = 'δαίμονῐ', AS = 'δαίμονᾰ', VS = 'δαῖμον', ND = 'δαίμονε', GD = 'δαιμόνοιν', NP = 'δαίμονες', GP = 'δαιμόνων', DP = 'δαίμοσῐ(ν)', AP = 'δαίμονᾰς' } },
		{ { 'κώδων', 'κώδωνος' }, { NS = 'κώδων', GS = 'κώδωνος', DS = 'κώδωνῐ', AS = 'κώδωνᾰ', ND = 'κώδωνε', GD = 'κωδώνοιν', NP = 'κώδωνες', GP = 'κωδώνων', DP = 'κώδωσῐ(ν)', AP = 'κώδωνᾰς' } },
		{ { 'ᾰ̓γών', 'ᾰ̓γῶνος' }, { NS = 'ᾰ̓γών', GS = 'ᾰ̓γῶνος', DS = 'ᾰ̓γῶνῐ', AS = 'ᾰ̓γῶνᾰ', ND = 'ᾰ̓γῶνε', GD = 'ᾰ̓γώνοιν', NP = 'ᾰ̓γῶνες', GP = 'ᾰ̓γώνων', DP = 'ᾰ̓γῶσῐ(ν)', AP = 'ᾰ̓γῶνᾰς' } },
		{ { 'κλών', 'κλωνός' }, { NS = 'κλών', GS = 'κλωνός', DS = 'κλωνῐ́', AS = 'κλῶνᾰ', ND = 'κλῶνε', GD = 'κλωνοῖν', NP = 'κλῶνες', GP = 'κλωνῶν', DP = 'κλωσῐ́(ν)', AP = 'κλῶνᾰς' } },
		{ { 'χθών', 'χθονός' }, { NS = 'χθών', GS = 'χθονός', DS = 'χθονῐ́', AS = 'χθόνᾰ', ND = 'χθόνε', GD = 'χθονοῖν', NP = 'χθόνες', GP = 'χθονῶν', DP = 'χθοσῐ́(ν)', AP = 'χθόνᾰς' } },
		'Nasal (irregular)',
		{ { 'μείς', 'μηνός' }, { NS = 'μείς', GS = 'μηνός', DS = 'μηνῐ́', AS = 'μῆνᾰ', ND = 'μῆνε', GD = 'μηνοῖν', NP = 'μῆνες', GP = 'μηνῶν', DP = 'μησῐ́(ν)', AP = 'μῆνᾰς' } },
		{ { 'κτείς', 'κτενός' }, { NS = 'κτείς', GS = 'κτενός', DS = 'κτενῐ́', AS = 'κτένᾰ', ND = 'κτένε', GD = 'κτενοῖν', NP = 'κτένες', GP = 'κτενῶν', DP = 'κτεσῐ́(ν)', AP = 'κτένᾰς' } },
		'Neuter (rhotic)',
		{ { 'ἦμᾰρ', 'ἤμᾰτος' }, { NS = 'ἦμᾰρ', GS = 'ἤμᾰτος', DS = 'ἤμᾰτῐ', AS = 'ἦμᾰρ', ND = 'ἤμᾰτε', GD = 'ἠμᾰ́τοιν', NP = 'ἤμᾰτᾰ', GP = 'ἠμᾰ́των', DP = 'ἤμᾰσῐ(ν)', AP = 'ἤμᾰτᾰ' } },
		{ { 'ἔᾰρ', 'ἔᾰρος', form = 'N' }, { NS = 'ἔᾰρ', GS = 'ἔᾰρος', DS = 'ἔᾰρῐ', AS = 'ἔᾰρ', ND = 'ἔᾰρε', GD = 'ἐᾰ́ροιν', NP = 'ἔᾰρᾰ', GP = 'ἐᾰ́ρων', DP = 'ἔᾰρσῐ(ν)', AP = 'ἔᾰρᾰ' } },
		{ { 'στέᾱρ', 'στέᾱτος' }, { NS = 'στέᾱρ', GS = 'στέᾱτος', DS = 'στέᾱτῐ', AS = 'στέᾱρ', ND = 'στέᾱτε', GD = 'στεᾱ́τοιν', NP = 'στέᾱτᾰ', GP = 'στεᾱ́των', DP = 'στέᾱσῐ(ν)', AP = 'στέᾱτᾰ' } },
		{ { 'στῆρ', 'στητός', form = 'N' }, { NS = 'στῆρ', GS = 'στητός', DS = 'στητῐ́', AS = 'στῆρ', ND = 'στῆτε', GD = 'στητοῖν', NP = 'στῆτᾰ', GP = 'στητῶν', DP = 'στησῐ́(ν)', AP = 'στῆτᾰ' } },
		{ { 'ἦρ', 'ἠρός', form = 'N' }, { NS = 'ἦρ', GS = 'ἠρός', DS = 'ἠρῐ́', AS = 'ἦρ', ND = 'ἦρε', GD = 'ἠροῖν', NP = 'ἦρᾰ', GP = 'ἠρῶν', DP = 'ἠρσῐ́(ν)', AP = 'ἦρᾰ' } },
		{ { 'ῠ̔́δωρ', 'ῠ̔́δᾰτος' }, { NS = 'ῠ̔́δωρ', GS = 'ῠ̔́δᾰτος', DS = 'ῠ̔́δᾰτῐ', AS = 'ῠ̔́δωρ', ND = 'ῠ̔́δᾰτε', GD = 'ῠ̔δᾰ́τοιν', NP = 'ῠ̔́δᾰτᾰ', GP = 'ῠ̔δᾰ́των', DP = 'ῠ̔́δᾰσῐ(ν)', AP = 'ῠ̔́δᾰτᾰ' } },
		{ { 'σκῶρ', 'σκᾰτός' }, { NS = 'σκῶρ', GS = 'σκᾰτός', DS = 'σκᾰτῐ́', AS = 'σκῶρ', ND = 'σκᾰ́τε', GD = 'σκᾰτοῖν', NP = 'σκᾰ́τᾰ', GP = 'σκᾰτῶν', DP = 'σκᾰσῐ́(ν)', AP = 'σκᾰ́τᾰ' } },
		'Neuter (nasal)',
		{ { 'σύστημᾰ', 'συστήμᾰτος' }, { NS = 'σύστημᾰ', GS = 'συστήμᾰτος', DS = 'συστήμᾰτῐ', AS = 'σύστημᾰ', ND = 'συστήμᾰτε', GD = 'συστημᾰ́τοιν', NP = 'συστήμᾰτᾰ', GP = 'συστημᾰ́των', DP = 'συστήμᾰσῐ(ν)', AP = 'συστήμᾰτᾰ' } },
		{ { 'σῶμᾰ', 'σώμᾰτος' }, { NS = 'σῶμᾰ', GS = 'σώμᾰτος', DS = 'σώμᾰτῐ', AS = 'σῶμᾰ', ND = 'σώμᾰτε', GD = 'σωμᾰ́τοιν', NP = 'σώμᾰτᾰ', GP = 'σωμᾰ́των', DP = 'σώμᾰσῐ(ν)', AP = 'σώμᾰτᾰ' } },
		{ { 'θέμᾰ', 'θέμᾰτος' }, { NS = 'θέμᾰ', GS = 'θέμᾰτος', DS = 'θέμᾰτῐ', AS = 'θέμᾰ', ND = 'θέμᾰτε', GD = 'θεμᾰ́τοιν', NP = 'θέμᾰτᾰ', GP = 'θεμᾰ́των', DP = 'θέμᾰσῐ(ν)', AP = 'θέμᾰτᾰ' } },
		'Neuter (sigmatic)',
		{ { 'αἶσχος', 'αἴσχους' }, { NS = 'αἶσχος', GS = 'αἴσχους', DS = 'αἴσχει', AS = 'αἶσχος', ND = 'αἴσχει', GD = 'αἰσχοῖν', NP = 'αἴσχη', GP = 'αἰσχῶν', DP = 'αἴσχεσῐ(ν)' } },
		{ { 'ᾰ̓́νθος', 'ᾰ̓́νθους' }, { NS = 'ᾰ̓́νθος', GS = 'ᾰ̓́νθους', DS = 'ᾰ̓́νθει', AS = 'ᾰ̓́νθος', ND = 'ᾰ̓́νθει', GD = 'ᾰ̓νθοῖν', NP = 'ᾰ̓́νθη', GP = 'ᾰ̓νθῶν', DP = 'ᾰ̓́νθεσῐ(ν)', AP = 'ᾰ̓́νθη' } },
	}
	iterate(examples)
end

function tests:test_grc_decl_third_vowel()
	local examples = {
		'Feminine contracted',
		{ { 'ἠχώ', 'ἠχοῦς' }, { NS = 'ἠχώ', GS = 'ἠχοῦς', DS = 'ἠχοῖ', AS = 'ἠχώ', VS = 'ἠχοῖ' } },
		'Iota',
		{ { 'σῠ́νθεσῐς', 'σῠνθέσεως' }, { NS = 'σῠ́νθεσῐς', GS = 'σῠνθέσεως', DS = 'σῠνθέσει', AS = 'σῠ́νθεσῐν', VS = 'σῠ́νθεσῐ', ND = 'σῠνθέσει', GD = 'σῠνθεσέοιν', NP = 'σῠνθέσεις', GP = 'σῠνθέσεων', DP = 'σῠνθέσεσῐ(ν)', AP = 'σῠνθέσεις' } },
		{ { 'θλῖψῐς', 'θλῑ́ψεως' }, { NS = 'θλῖψῐς', GS = 'θλῑ́ψεως', DS = 'θλῑ́ψει', AS = 'θλῖψῐν', VS = 'θλῖψῐ', ND = 'θλῑ́ψει', GD = 'θλῑψέοιν', NP = 'θλῑ́ψεις', GP = 'θλῑ́ψεων', DP = 'θλῑ́ψεσῐ(ν)', AP = 'θλῑ́ψεις' } },
		{ { 'πόλῐς', 'πόλεως' }, { NS = 'πόλῐς', GS = 'πόλεως', DS = 'πόλει', AS = 'πόλῐν', VS = 'πόλῐ', ND = 'πόλει', GD = 'πολέοιν', NP = 'πόλεις', GP = 'πόλεων', DP = 'πόλεσῐ(ν)', AP = 'πόλεις' } },
		'Upsilon',
		{ { 'ἱππεύς', 'ἱππέως' }, { NS = 'ἱππεύς', GS = 'ἱππέως', DS = 'ἱππεῖ', AS = 'ἱππέᾱ', VS = 'ἱππεῦ', ND = 'ἱππῆ', GD = 'ἱππέοιν', NP = 'ἱππῆς/ἱππεῖς', GP = 'ἱππέων', DP = 'ἱππεῦσῐ(ν)', AP = 'ἱππέᾱς' } },
		{ { 'ἁλιεύς', 'ἁλιέως' }, { NS = 'ἁλιεύς', GS = 'ἁλιέως/ἁλιῶς', DS = 'ἁλιεῖ', AS = 'ἁλιέᾱ/ἁλιᾶ', VS = 'ἁλιεῦ', ND = 'ἁλιῆ', GD = 'ἁλιέοιν', NP = 'ἁλιῆς/ἁλιεῖς', GP = 'ἁλιέων/ἁλιῶν', DP = 'ἁλιεῦσῐ(ν)', AP = 'ἁλιέᾱς/ἁλιᾶς' } },
		{ { 'ᾰ̓́στῠ', 'ᾰ̓́στεως' }, { NS = 'ᾰ̓́στῠ', GS = 'ᾰ̓́στεως', DS = 'ᾰ̓́στει', ND = 'ᾰ̓́στει', GD = 'ᾰ̓στέοιν', NP = 'ᾰ̓́στη/ᾰ̓́στεᾰ', GP = 'ᾰ̓́στεων', DP = 'ᾰ̓́στεσῐ(ν)' } },
		{ { 'μῦς', 'μῠός' }, { NS = 'μῦς', GS = 'μῠός', DS = 'μῠῐ̈́', AS = 'μῦν', VS = 'μῦ', ND = 'μῠ́ε', GD = 'μῠοῖν', NP = 'μῠ́ες', GP = 'μῠῶν', DP = 'μῡσῐ́(ν)/μῠσῐ́(ν)', AP = 'μῦς/μῠ́ᾰς' } },
		{ { 'βότρῠς', 'βότρῠος' }, { NS = 'βότρῠς', GS = 'βότρῠος', DS = 'βότρῠῐ̈/βότρυι', AS = 'βότρῠν', VS = 'βότρῠ', ND = 'βότρῠε', GD = 'βοτρῠ́οιν', NP = 'βότρῠες', GP = 'βοτρῠ́ων', DP = 'βότρῠσῐ(ν)', AP = 'βότρῡς/βότρῠᾰς' } },
		{ { 'ἔγχελῠς', 'ἐγχέλῠος' }, { NS = 'ἔγχελῠς', GS = 'ἐγχέλῠος', DS = 'ἐγχέλῠῐ̈/ἐγχέλυι', AS = 'ἔγχελῠν', VS = 'ἔγχελῠ', ND = 'ἐγχέλῠε', GD = 'ἐγχελῠ́οιν', NP = 'ἐγχέλῠες', GP = 'ἐγχελῠ́ων', DP = 'ἐγχέλῠσῐ(ν)', AP = 'ἐγχέλῡς/ἐγχέλῠᾰς' } },
		{ { 'ἥρως', 'ἥρωος' }, { NS = 'ἥρως', GS = 'ἥρωος', DS = 'ἥρῳ/ἥρωῐ̈', AS = 'ἥρω/ἥρωᾰ', ND = 'ἥρωε', GD = 'ἡρώοιν', NP = 'ἥρωες', GP = 'ἡρώων', DP = 'ἥρωσῐ(ν)', AP = 'ἥρωᾰς' } },
		{ { 'Τρώς', 'Τρωός' }, { NS = 'Τρώς', GS = 'Τρωός', DS = 'Τρῷ/Τρῶῐ̈', AS = 'Τρῶ/Τρῶᾰ', ND = 'Τρῶε', GD = 'Τρώοιν', NP = 'Τρῶες', GP = 'Τρώων', DP = 'Τρωσῐ́(ν)', AP = 'Τρῶᾰς' } },
		{ { 'γόνῠ', 'γόνᾰτος' }, { NS = 'γόνῠ', GS = 'γόνᾰτος', DS = 'γόνᾰτῐ', ND = 'γόνᾰτε', GD = 'γονᾰ́τοιν', NP = 'γόνᾰτᾰ', GP = 'γονᾰ́των', DP = 'γόνᾰσῐ(ν)' } },
		{ { 'πῆχῠς', 'πήχεως' }, { NS = 'πῆχῠς', GS = 'πήχεως', DS = 'πήχει', AS = 'πῆχῠν', VS = 'πῆχῠ', ND = 'πήχει', GD = 'πηχέοιν', NP = 'πήχεις', GP = 'πήχεων', DP = 'πήχεσῐ(ν)', AP = 'πήχεις' } },
		'Sigmatic',
		{ { 'Περικλῆς', 'Περικλέους' }, { NS = 'Περικλῆς', GS = 'Περικλέους', DS = 'Περικλεῖ', AS = 'Περικλέᾱ', VS = 'Περίκλεις' } },
		{ { 'φᾰ́ος', 'φᾰ́εος', dial = 'ion' }, { NS = 'φᾰ́ος', GS = 'φᾰ́εος/φᾰ́ευς', DS = 'φᾰ́ει/φᾰ́εῐ̈', ND = 'φᾰ́ει/φᾰ́εε', GD = 'φᾰέοιν', NP = 'φᾰ́εᾰ', GP = 'φᾰέων', DP = 'φᾰ́εσῐ(ν)' } },
		{ { 'φᾰ́ος', 'φᾰ́ους' }, { NS = 'φᾰ́ος', GS = 'φᾰ́ους', DS = 'φᾰ́ει', ND = 'φᾰ́ει', GD = 'φᾰοῖν', NP = 'φᾰ́η', GP = 'φᾰῶν', DP = 'φᾰ́εσῐ(ν)' } },
		'Laryngeal',
		{ { 'κέρᾰς', 'κέρως' }, { NS = 'κέρᾰς', GS = 'κέρως', DS = 'κέραι/κέρᾳ', ND = 'κέρᾱ', GD = 'κερῷν', NP = 'κέρᾱ', GP = 'κερῶν', DP = 'κέρᾰσῐ(ν)' } },
		{ { 'κέρᾰς', 'κέρᾱτος' }, { NS = 'κέρᾰς', GS = 'κέρᾱτος', DS = 'κέρᾱτῐ', ND = 'κέρᾱτε', GD = 'κερᾱ́τοιν', NP = 'κέρᾱτᾰ', GP = 'κερᾱ́των', DP = 'κέρᾱσῐ(ν)' } },
		{ { 'κρέᾰς', 'κρέως' }, { NS = 'κρέᾰς', GS = 'κρέως', DS = 'κρέαι/κρέᾳ', ND = 'κρέᾱ', GD = 'κρεῷν', NP = 'κρέᾱ', GP = 'κρεῶν', DP = 'κρέᾰσῐ(ν)' } },
		{ { 'κρέᾰς', 'κρέᾰτος' }, { NS = 'κρέᾰς', GS = 'κρέᾰτος', DS = 'κρέᾰτῐ', ND = 'κρέᾰτε', GD = 'κρεᾰ́τοιν', NP = 'κρέᾰτᾰ', GP = 'κρεᾰ́των', DP = 'κρέᾰσῐ(ν)' } },
	}
	iterate(examples)
end


function tests:test_grc_adecl_first_and_second()
	local examples = {
		'Long alpha feminine',
		{
			{ 'ᾰ̓́ξῐος', 'ᾱ' },
			{
				MNS = 'ᾰ̓́ξῐος', MAS = 'ᾰ̓́ξῐον', MVS = 'ᾰ̓́ξῐε', MGS = 'ᾰ̓ξῐ́ου', MDS = 'ᾰ̓ξῐ́ῳ', MND = 'ᾰ̓ξῐ́ω', MGD = 'ᾰ̓ξῐ́οιν', MNP = 'ᾰ̓́ξῐοι', MAP = 'ᾰ̓ξῐ́ους', MGP = 'ᾰ̓ξῐ́ων', MDP = 'ᾰ̓ξῐ́οις', 
				FNS = 'ᾰ̓ξῐ́ᾱ', FAS = 'ᾰ̓ξῐ́ᾱν', FGS = 'ᾰ̓ξῐ́ᾱς', FDS = 'ᾰ̓ξῐ́ᾳ', FND = 'ᾰ̓ξῐ́ᾱ', FGD = 'ᾰ̓ξῐ́αιν', FNP = 'ᾰ̓́ξῐαι', FAP = 'ᾰ̓ξῐ́ᾱς', FGP = 'ᾰ̓ξῐ́ων', FDP = 'ᾰ̓ξῐ́αις', 
				NNS = 'ᾰ̓́ξῐον', NGS = 'ᾰ̓ξῐ́ου', NDS = 'ᾰ̓ξῐ́ῳ', NND = 'ᾰ̓ξῐ́ω', NGD = 'ᾰ̓ξῐ́οιν', NNP = 'ᾰ̓́ξῐᾰ', NGP = 'ᾰ̓ξῐ́ων', NDP = 'ᾰ̓ξῐ́οις',
				adv = 'ᾰ̓ξῐ́ως', comp = 'ᾰ̓ξῐώτερος', super = 'ᾰ̓ξῐώτᾰτος', 
			},
		},
		'Eta feminine',
		{
			{ 'ᾰ̓γᾰθός', 'ή' },
			{
				MNS = 'ᾰ̓γᾰθός', MAS = 'ᾰ̓γᾰθόν', MVS = 'ᾰ̓γᾰθέ', MGS = 'ᾰ̓γᾰθοῦ', MDS = 'ᾰ̓γᾰθῷ', MND = 'ᾰ̓γᾰθώ', MGD = 'ᾰ̓γᾰθοῖν', MNP = 'ᾰ̓γᾰθοί', MAP = 'ᾰ̓γᾰθούς', MGP = 'ᾰ̓γᾰθῶν', MDP = 'ᾰ̓γᾰθοῖς', 
				FNS = 'ᾰ̓γᾰθή', FAS = 'ᾰ̓γᾰθήν', FGS = 'ᾰ̓γᾰθῆς', FDS = 'ᾰ̓γᾰθῇ', FND = 'ᾰ̓γᾰθᾱ́', FGD = 'ᾰ̓γᾰθαῖν', FNP = 'ᾰ̓γᾰθαί', FAP = 'ᾰ̓γᾰθᾱ́ς', FGP = 'ᾰ̓γᾰθῶν', FDP = 'ᾰ̓γᾰθαῖς', 
				NNS = 'ᾰ̓γᾰθόν', NGS = 'ᾰ̓γᾰθοῦ', NDS = 'ᾰ̓γᾰθῷ', NND = 'ᾰ̓γᾰθώ', NGD = 'ᾰ̓γᾰθοῖν', NNP = 'ᾰ̓γᾰθᾰ́', NGP = 'ᾰ̓γᾰθῶν', NDP = 'ᾰ̓γᾰθοῖς', 
				adv = 'ᾰ̓γᾰθῶς', comp = 'ᾰ̓γᾰθώτερος', super = 'ᾰ̓γᾰθώτᾰτος',	
			},
		},
		{
			{ 'ὀλῐ́γος', 'η' },
			{
				MNS = 'ὀλῐ́γος', MAS = 'ὀλῐ́γον', MVS = 'ὀλῐ́γε', MGS = 'ὀλῐ́γου', MDS = 'ὀλῐ́γῳ', MND = 'ὀλῐ́γω', MGD = 'ὀλῐ́γοιν', MNP = 'ὀλῐ́γοι', MAP = 'ὀλῐ́γους', MGP = 'ὀλῐ́γων', MDP = 'ὀλῐ́γοις', 
				FNS = 'ὀλῐ́γη', FAS = 'ὀλῐ́γην', FGS = 'ὀλῐ́γης', FDS = 'ὀλῐ́γῃ', FND = 'ὀλῐ́γᾱ', FGD = 'ὀλῐ́γαιν', FNP = 'ὀλῐ́γαι', FAP = 'ὀλῐ́γᾱς', FGP = 'ὀλῐ́γων', FDP = 'ὀλῐ́γαις', 
				NNS = 'ὀλῐ́γον', NGS = 'ὀλῐ́γου', NDS = 'ὀλῐ́γῳ', NND = 'ὀλῐ́γω', NGD = 'ὀλῐ́γοιν', NNP = 'ὀλῐ́γᾰ', NGP = 'ὀλῐ́γων', NDP = 'ὀλῐ́γοις',
				adv = 'ὀλῐ́γως', comp = 'ὀλῐγώτερος', super = 'ὀλῐγώτᾰτος', 
			},
		},
		{
			{ 'ὀρθός', 'η' },
			{
				MNS = 'ὀρθός', MAS = 'ὀρθόν', MVS = 'ὀρθέ', MGS = 'ὀρθοῦ', MDS = 'ὀρθῷ', MND = 'ὀρθώ', MGD = 'ὀρθοῖν', MNP = 'ὀρθοί', MAP = 'ὀρθούς', MGP = 'ὀρθῶν', MDP = 'ὀρθοῖς', 
				FNS = 'ὀρθή', FAS = 'ὀρθήν', FGS = 'ὀρθῆς', FDS = 'ὀρθῇ', FND = 'ὀρθᾱ́', FGD = 'ὀρθαῖν', FNP = 'ὀρθαί', FAP = 'ὀρθᾱ́ς', FGP = 'ὀρθῶν', FDP = 'ὀρθαῖς', 
				NNS = 'ὀρθόν', NGS = 'ὀρθοῦ', NDS = 'ὀρθῷ', NND = 'ὀρθώ', NGD = 'ὀρθοῖν', NNP = 'ὀρθᾰ́', NGP = 'ὀρθῶν', NDP = 'ὀρθοῖς', 
				adv = 'ὀρθῶς', comp = 'ὀρθότερος', super = 'ὀρθότᾰτος', 
			},
		},
	}
	iterate_adj(examples)
end

function tests:test_grc_adecl_second()
	local examples = {
		{
			{ 'ᾰ̓́δῐκος', 'ον' },
			{
				MNS = 'ᾰ̓́δῐκος', MAS = 'ᾰ̓́δῐκον', MVS = 'ᾰ̓́δῐκε', MGS = 'ᾰ̓δῐ́κου', MDS = 'ᾰ̓δῐ́κῳ', MND = 'ᾰ̓δῐ́κω', MGD = 'ᾰ̓δῐ́κοιν', MNP = 'ᾰ̓́δῐκοι', MAP = 'ᾰ̓δῐ́κους', MGP = 'ᾰ̓δῐ́κων', MDP = 'ᾰ̓δῐ́κοις', 
				
				NNS = 'ᾰ̓́δῐκον', NGS = 'ᾰ̓δῐ́κου', NDS = 'ᾰ̓δῐ́κῳ', NND = 'ᾰ̓δῐ́κω', NGD = 'ᾰ̓δῐ́κοιν', NNP = 'ᾰ̓́δῐκᾰ', NGP = 'ᾰ̓δῐ́κων', NDP = 'ᾰ̓δῐ́κοις', 
				adv = 'ᾰ̓δῐ́κως', comp = 'ᾰ̓δῐκώτερος', super = 'ᾰ̓δῐκώτᾰτος', 
			},
		},
		{
			{ 'δῠνᾰτός', 'όν' },
			{
				MNS = 'δῠνᾰτός', MAS = 'δῠνᾰτόν', MVS = 'δῠνᾰτέ', MGS = 'δῠνᾰτοῦ', MDS = 'δῠνᾰτῷ', MND = 'δῠνᾰτώ', MGD = 'δῠνᾰτοῖν', MNP = 'δῠνᾰτοί', MAP = 'δῠνᾰτούς', MGP = 'δῠνᾰτῶν', MDP = 'δῠνᾰτοῖς', 
				
				NNS = 'δῠνᾰτόν', NGS = 'δῠνᾰτοῦ', NDS = 'δῠνᾰτῷ', NND = 'δῠνᾰτώ', NGD = 'δῠνᾰτοῖν', NNP = 'δῠνᾰτᾰ́', NGP = 'δῠνᾰτῶν', NDP = 'δῠνᾰτοῖς', 
				adv = 'δῠνᾰτῶς', comp = 'δῠνᾰτώτερος', super = 'δῠνᾰτώτᾰτος', 
			},
		},
		{
			{ 'χερσαῖος', 'ον' },
			{
				MNS = 'χερσαῖος', MAS = 'χερσαῖον', MVS = 'χερσαῖε', MGS = 'χερσαίου', MDS = 'χερσαίῳ', MND = 'χερσαίω', MGD = 'χερσαίοιν', MNP = 'χερσαῖοι', MAP = 'χερσαίους', MGP = 'χερσαίων', MDP = 'χερσαίοις', 
				
				NNS = 'χερσαῖον', NGS = 'χερσαίου', NDS = 'χερσαίῳ', NND = 'χερσαίω', NGD = 'χερσαίοιν', NNP = 'χερσαῖᾰ', NGP = 'χερσαίων', NDP = 'χερσαίοις', 
				adv = 'χερσαίως', comp = 'χερσαιότερος', super = 'χερσαιότᾰτος', 
			},
		},
		{
			{ 'ῑ̔́λεως', 'ῑ̔́λεων' },
			{
				MNS = 'ῑ̔́λεως', MAS = 'ῑ̔́λεω(ν)', MVS = 'ῑ̔́λεως', MGS = 'ῑ̔́λεω', MDS = 'ῑ̔́λεῳ', MND = 'ῑ̔́λεω', MAD = 'ῑ̔́λεω', MVD = 'ῑ̔́λεω', MGD = 'ῑ̔́λεῳν', MDD = 'ῑ̔́λεῳν', MNP = 'ῑ̔́λεῳ', MAP = 'ῑ̔́λεως', MVP = 'ῑ̔́λεῳ', MGP = 'ῑ̔́λεων', MDP = 'ῑ̔́λεῳς', 
				
				NNS = 'ῑ̔́λεων', NAS = 'ῑ̔́λεων', NVS = 'ῑ̔́λεων', NGS = 'ῑ̔́λεω', NDS = 'ῑ̔́λεῳ', NND = 'ῑ̔́λεω', NAD = 'ῑ̔́λεω', NVD = 'ῑ̔́λεω', NGD = 'ῑ̔́λεῳν', NDD = 'ῑ̔́λεῳν', NNP = 'ῑ̔́λεᾰ', NAP = 'ῑ̔́λεᾰ', NVP = 'ῑ̔́λεᾰ', NGP = 'ῑ̔́λεων', NDP = 'ῑ̔́λεῳς', 
				adv = 'ῑ̔́λεως', comp = 'ῑ̔λεώτερος', super = 'ῑ̔λεώτᾰτος', 
			},
		}
	}
	
	iterate_adj(examples)
end

function tests:test_grc_adecl_third()
	local examples = {
		{
			{ 'ψευδής', 'ές', dial = 'ion' },
			{
				MNS = 'ψευδής', MAS = 'ψευδέᾰ', MVS = 'ψευδές', MGS = 'ψευδέος/ψευδεῦς', MDS = 'ψευδεῖ/ψευδέῐ̈', MND = 'ψευδεῖ/ψευδέε', MGD = 'ψευδέοιν', MNP = 'ψευδεῖς/ψευδέες', MAP = 'ψευδέᾰς', MGP = 'ψευδέων', MDP = 'ψευδέσῐ(ν)', 
				
				NNS = 'ψευδές', NGS = 'ψευδέος/ψευδεῦς', NDS = 'ψευδεῖ/ψευδέῐ̈', NND = 'ψευδεῖ/ψευδέε', NGD = 'ψευδέοιν', NNP = 'ψευδέᾰ', NGP = 'ψευδέων', NDP = 'ψευδέσῐ(ν)', 
				adv = 'ψευδέως', comp = 'ψευδέστερος', super = 'ψευδέστᾰτος', 
			},
		},
		{
			{ 'κᾰκοήθης', 'ες', dial = 'ion' },
			{
				MNS = 'κᾰκοήθης', MAS = 'κᾰκοήθεᾰ', MVS = 'κᾰκόηθες', MGS = 'κᾰκοήθεος/κᾰκοήθευς', MDS = 'κᾰκοήθει/κᾰκοήθεῐ̈', MND = 'κᾰκοήθει/κᾰκοήθεε', MGD = 'κᾰκοηθέοιν', MNP = 'κᾰκοήθεις/κᾰκοήθεες', MAP = 'κᾰκοήθεᾰς', MGP = 'κᾰκοηθέων', MDP = 'κᾰκοήθεσῐ(ν)', 
				-- Hard to find Ionic examples of adverb of recessively accented
				-- adjective to verify κᾰκοηθέως.
				NNS = 'κᾰκόηθες', NGS = 'κᾰκοήθεος/κᾰκοήθευς', NDS = 'κᾰκοήθει/κᾰκοήθεῐ̈', NND = 'κᾰκοήθει/κᾰκοήθεε', NGD = 'κᾰκοηθέοιν', NNP = 'κᾰκοήθεᾰ', NGP = 'κᾰκοηθέων', NDP = 'κᾰκοήθεσῐ(ν)', 
				adv = 'κᾰκοηθέως', comp = 'κᾰκοηθέστερος', super = 'κᾰκοηθέστᾰτος', 
			},
		},
		{
			{ 'εὐδαῖμον' },
			{
				MNS = 'εὐδαίμων', MAS = 'εὐδαίμονᾰ', MVS = 'εὐδαῖμον', MGS = 'εὐδαίμονος', MDS = 'εὐδαίμονῐ', MND = 'εὐδαίμονε', MGD = 'εὐδαιμόνοιν', MNP = 'εὐδαίμονες', MAP = 'εὐδαίμονᾰς', MGP = 'εὐδαιμόνων', MDP = 'εὐδαίμοσῐ(ν)', 
				
				NNS = 'εὐδαῖμον', NGS = 'εὐδαίμονος', NDS = 'εὐδαίμονῐ', NND = 'εὐδαίμονε', NGD = 'εὐδαιμόνοιν', NNP = 'εὐδαίμονᾰ', NGP = 'εὐδαιμόνων', NDP = 'εὐδαίμοσῐ(ν)', 
				adv = 'εὐδαιμόνως', comp = 'εὐδαιμονέστερος', super = 'εὐδαιμονέστᾰτος', 
			},
		},
		{
			{ 'σκῐόεις', 'εσσᾰ' },
			{
				MNS = 'σκῐόεις', MAS = 'σκῐόεντᾰ', MVS = 'σκῐόεν', MGS = 'σκῐόεντος', MDS = 'σκῐόεντῐ', MND = 'σκῐόεντε', MAD = 'σκῐόεντε', MVD = 'σκῐόεντε', MGD = 'σκῐοέντοιν', MDD = 'σκῐοέντοιν', MNP = 'σκῐόεντες', MAP = 'σκῐόεντᾰς', MVP = 'σκῐόεντες', MGP = 'σκῐοέντων', MDP = 'σκῐόεισῐ(ν)', 
				FNS = 'σκῐόεσσᾰ', FAS = 'σκῐόεσσᾰν', FVS = 'σκῐόεσσᾰ', FGS = 'σκῐοέσσης', FDS = 'σκῐοέσσῃ', FND = 'σκῐοέσσᾱ', FAD = 'σκῐοέσσᾱ', FVD = 'σκῐοέσσᾱ', FGD = 'σκῐοέσσαιν', FDD = 'σκῐοέσσαιν', FNP = 'σκῐόεσσαι', FAP = 'σκῐοέσσᾱς', FVP = 'σκῐόεσσαι', FGP = 'σκῐοεσσῶν', FDP = 'σκῐοέσσαις', 
				NNS = 'σκῐόεν', NAS = 'σκῐόε̆ν', NVS = 'σκῐόε̆ν', NGS = 'σκῐόεντος', NDS = 'σκῐόεντῐ', NND = 'σκῐόεντε', NAD = 'σκῐόεντε', NVD = 'σκῐόεντε', NGD = 'σκῐοέντοιν', NDD = 'σκῐοέντοιν', NNP = 'σκῐόεντᾰ', NAP = 'σκῐόεντᾰ', NVP = 'σκῐόεντᾰ', NGP = 'σκῐοέντων', NDP = 'σκῐόεισῐ(ν)', 
				adv = 'σκῐοέντως', comp = 'σκῐοέστερος', super = 'σκῐοέστᾰτος', 
			},
		}
	}
	
	iterate_adj(examples)
end

function tests:test_grc_adecl_first_and_third()
	local examples = {
		'Upsilon',
		{
			{'βᾰρῠ́ς', 'βᾰρεῖᾰ'}, 
			{
				MNS = 'βᾰρῠ́ς', MGS = 'βᾰρέως', MDS = 'βᾰρεῖ', MAS = 'βᾰρῠ́ν', MVS = 'βᾰρῠ́', MND = 'βᾰρέε', MGD = 'βᾰρέοιν', MNP = 'βᾰρεῖς', MGP = 'βᾰρέων', MDP = 'βᾰρέσῐ(ν)', MAP = 'βᾰρεῖς',
				FNS = 'βᾰρεῖᾰ', FGS = 'βᾰρείᾱς', FDS = 'βᾰρείᾳ', FAS = 'βᾰρεῖᾰν', FND = 'βᾰρείᾱ', FGD = 'βᾰρείαιν', FNP = 'βᾰρεῖαι', FGP = 'βᾰρειῶν', FDP = 'βᾰρείαις', FAP = 'βᾰρείᾱς',
				NNS = 'βᾰρῠ́', NGS = 'βᾰρέως', NDS = 'βᾰρεῖ', NND = 'βᾰρέε', NGD = 'βᾰρέοιν', NNP = 'βᾰρέᾰ', NGP = 'βᾰρέων', NDP = 'βᾰρέσῐ(ν)',
				adv = 'βᾰρέως', comp = 'βᾰρῠ́τερος', super = 'βᾰρῠ́τᾰτος', 
			} 
		},
		'Participles',
		{
			{ 'δούς', 'δοῦσᾰ' },
			{
				MNS = 'δούς', MAS = 'δόντᾰ', MGS = 'δόντος', MDS = 'δόντῐ', MND = 'δόντε', MGD = 'δόντοιν', MNP = 'δόντες', MAP = 'δόντᾰς', MGP = 'δόντων', MDP = 'δοῦσῐ(ν)', 
				FNS = 'δοῦσᾰ', FAS = 'δοῦσᾰν', FGS = 'δούσης', FDS = 'δούσῃ', FND = 'δούσᾱ', FGD = 'δούσαιν', FNP = 'δοῦσαι', FAP = 'δούσᾱς', FGP = 'δουσῶν', FDP = 'δούσαις', 
				NNS = 'δόν', NGS = 'δόντος', NDS = 'δόντῐ', NND = 'δόντε', NGD = 'δόντοιν', NNP = 'δόντᾰ', NGP = 'δόντων', NDP = 'δοῦσῐ(ν)', 
				adv = 'δόντως', 
			},
		},
		{
			{ 'θείς', 'θεῖσᾰ' },
			{
				MNS = 'θείς', MAS = 'θέντᾰ', MGS = 'θέντος', MDS = 'θέντῐ', MND = 'θέντε', MGD = 'θέντοιν', MNP = 'θέντες', MAP = 'θέντᾰς', MGP = 'θέντων', MDP = 'θεῖσῐ(ν)', 
				FNS = 'θεῖσᾰ', FAS = 'θεῖσᾰν', FGS = 'θείσης', FDS = 'θείσῃ', FND = 'θείσᾱ', FGD = 'θείσαιν', FNP = 'θεῖσαι', FAP = 'θείσᾱς', FGP = 'θεισῶν', FDP = 'θείσαις', 
				NNS = 'θέν', NGS = 'θέντος', NDS = 'θέντῐ', NND = 'θέντε', NGD = 'θέντοιν', NNP = 'θέντᾰ', NGP = 'θέντων', NDP = 'θεῖσῐ(ν)', 
				adv = 'θέντως', 
			},
		},
		{
			{ 'στᾱ́ς', 'στᾶσᾰ' },
			{
				MNS = 'στᾱ́ς', MAS = 'στᾰ́ντᾰ', MGS = 'στᾰ́ντος', MDS = 'στᾰ́ντῐ', MND = 'στᾰ́ντε', MGD = 'στᾰ́ντοιν', MNP = 'στᾰ́ντες', MAP = 'στᾰ́ντᾰς', MGP = 'στᾰ́ντων', MDP = 'στᾶσῐ(ν)', 
				FNS = 'στᾶσᾰ', FAS = 'στᾶσᾰν', FGS = 'στᾱ́σης', FDS = 'στᾱ́σῃ', FND = 'στᾱ́σᾱ', FGD = 'στᾱ́σαιν', FNP = 'στᾶσαι', FAP = 'στᾱ́σᾱς', FGP = 'στᾱσῶν', FDP = 'στᾱ́σαις', 
				NNS = 'στᾰ́ν', NGS = 'στᾰ́ντος', NDS = 'στᾰ́ντῐ', NND = 'στᾰ́ντε', NGD = 'στᾰ́ντοιν', NNP = 'στᾰ́ντᾰ', NGP = 'στᾰ́ντων', NDP = 'στᾶσῐ(ν)', 
				adv = 'στᾰ́ντως', 
			},
		},
		{
			{ 'δεικνῡ́ς', 'δεικνῦσᾰ' },
			{
				MNS = 'δεικνῡ́ς', MAS = 'δεικνῠ́ντᾰ', MGS = 'δεικνῠ́ντος', MDS = 'δεικνῠ́ντῐ', MND = 'δεικνῠ́ντε', MGD = 'δεικνῠ́ντοιν', MNP = 'δεικνῠ́ντες', MAP = 'δεικνῠ́ντᾰς', MGP = 'δεικνῠ́ντων', MDP = 'δεικνῦσῐ(ν)', 
				FNS = 'δεικνῦσᾰ', FAS = 'δεικνῦσᾰν', FGS = 'δεικνῡ́σης', FDS = 'δεικνῡ́σῃ', FND = 'δεικνῡ́σᾱ', FGD = 'δεικνῡ́σαιν', FNP = 'δεικνῦσαι', FAP = 'δεικνῡ́σᾱς', FGP = 'δεικνῡσῶν', FDP = 'δεικνῡ́σαις', 
				NNS = 'δεικνῠ́ν', NGS = 'δεικνῠ́ντος', NDS = 'δεικνῠ́ντῐ', NND = 'δεικνῠ́ντε', NGD = 'δεικνῠ́ντοιν', NNP = 'δεικνῠ́ντᾰ', NGP = 'δεικνῠ́ντων', NDP = 'δεικνῦσῐ(ν)', 
				adv = 'δεικνῠ́ντως',
			},
		},
		{
			{ 'λᾰμβᾰ́νων', 'λᾰμβᾰ́νουσᾰ' },
			{
				MNS = 'λᾰμβᾰ́νων', MAS = 'λᾰμβᾰ́νοντᾰ', MGS = 'λᾰμβᾰ́νοντος', MDS = 'λᾰμβᾰ́νοντῐ', MND = 'λᾰμβᾰ́νοντε', MGD = 'λᾰμβᾰνόντοιν', MNP = 'λᾰμβᾰ́νοντες', MAP = 'λᾰμβᾰ́νοντᾰς', MGP = 'λᾰμβᾰνόντων', MDP = 'λᾰμβᾰ́νουσῐ(ν)', 
				FNS = 'λᾰμβᾰ́νουσᾰ', FAS = 'λᾰμβᾰ́νουσᾰν', FGS = 'λᾰμβᾰνούσης', FDS = 'λᾰμβᾰνούσῃ', FND = 'λᾰμβᾰνούσᾱ', FGD = 'λᾰμβᾰνούσαιν', FNP = 'λᾰμβᾰ́νουσαι', FAP = 'λᾰμβᾰνούσᾱς', FGP = 'λᾰμβᾰνουσῶν', FDP = 'λᾰμβᾰνούσαις', 
				NNS = 'λᾰμβᾰ́νον', NGS = 'λᾰμβᾰ́νοντος', NDS = 'λᾰμβᾰ́νοντῐ', NND = 'λᾰμβᾰ́νοντε', NGD = 'λᾰμβᾰνόντοιν', NNP = 'λᾰμβᾰ́νοντᾰ', NGP = 'λᾰμβᾰνόντων', NDP = 'λᾰμβᾰ́νουσῐ(ν)', 
				adv = 'λᾰμβᾰνόντως',
			},
		},
		{
			{ 'λᾰβών', 'ουσᾰ' },
			{
				MNS = 'λᾰβών', MAS = 'λᾰβόντᾰ', MGS = 'λᾰβόντος', MDS = 'λᾰβόντῐ', MND = 'λᾰβόντε', MGD = 'λᾰβόντοιν', MNP = 'λᾰβόντες', MAP = 'λᾰβόντᾰς', MGP = 'λᾰβόντων', MDP = 'λᾰβοῦσῐ(ν)', 
				FNS = 'λᾰβοῦσᾰ', FAS = 'λᾰβοῦσᾰν', FGS = 'λᾰβούσης', FDS = 'λᾰβούσῃ', FND = 'λᾰβούσᾱ', FGD = 'λᾰβούσαιν', FNP = 'λᾰβοῦσαι', FAP = 'λᾰβούσᾱς', FGP = 'λᾰβουσῶν', FDP = 'λᾰβούσαις', 
				NNS = 'λᾰβόν', NGS = 'λᾰβόντος', NDS = 'λᾰβόντῐ', NND = 'λᾰβόντε', NGD = 'λᾰβόντοιν', NNP = 'λᾰβόντᾰ', NGP = 'λᾰβόντων', NDP = 'λᾰβοῦσῐ(ν)', 
				adv = 'λᾰβόντως',
			},
		},
		{
			{ 'ποιήσᾱς', 'ᾱσᾰ' },
			{
				MNS = 'ποιήσᾱς', MAS = 'ποιήσᾰντᾰ', MGS = 'ποιήσᾰντος', MDS = 'ποιήσᾰντῐ', MND = 'ποιήσᾰντε', MGD = 'ποιησᾰ́ντοιν', MNP = 'ποιήσᾰντες', MAP = 'ποιήσᾰντᾰς', MGP = 'ποιησᾰ́ντων', MDP = 'ποιήσᾱσῐ(ν)', 
				FNS = 'ποιήσᾱσᾰ', FAS = 'ποιήσᾱσᾰν', FGS = 'ποιησᾱ́σης', FDS = 'ποιησᾱ́σῃ', FND = 'ποιησᾱ́σᾱ', FGD = 'ποιησᾱ́σαιν', FNP = 'ποιήσᾱσαι', FAP = 'ποιησᾱ́σᾱς', FGP = 'ποιησᾱσῶν', FDP = 'ποιησᾱ́σαις', 
				NNS = 'ποιῆσᾰν', NGS = 'ποιήσᾰντος', NDS = 'ποιήσᾰντῐ', NND = 'ποιήσᾰντε', NGD = 'ποιησᾰ́ντοιν', NNP = 'ποιήσᾰντᾰ', NGP = 'ποιησᾰ́ντων', NDP = 'ποιήσᾱσῐ(ν)', 
				adv = 'ποιησᾰ́ντως'
			},
		},
		{
			{ 'δηλῶν', 'δηλοῦσᾰ' },
			{
				MNS = 'δηλῶν', MAS = 'δηλοῦντᾰ', MGS = 'δηλοῦντος', MDS = 'δηλοῦντῐ', MND = 'δηλοῦντε', MGD = 'δηλούντοιν', MNP = 'δηλοῦντες', MAP = 'δηλοῦντᾰς', MGP = 'δηλούντων', MDP = 'δηλοῦσῐ(ν)', 
				FNS = 'δηλοῦσᾰ', FAS = 'δηλοῦσᾰν', FGS = 'δηλούσης', FDS = 'δηλούσῃ', FND = 'δηλούσᾱ', FGD = 'δηλούσαιν', FNP = 'δηλοῦσαι', FAP = 'δηλούσᾱς', FGP = 'δηλουσῶν', FDP = 'δηλούσαις', 
				NNS = 'δηλοῦν', NGS = 'δηλοῦντος', NDS = 'δηλοῦντῐ', NND = 'δηλοῦντε', NGD = 'δηλούντοιν', NNP = 'δηλοῦντᾰ', NGP = 'δηλούντων', NDP = 'δηλοῦσῐ(ν)', 
				adv = 'δηλούντως',
			},
		},
		{
			{ 'τιμῶν', 'τιμῶσᾰ' },
			{
				MNS = 'τιμῶν', MAS = 'τιμῶντᾰ', MGS = 'τιμῶντος', MDS = 'τιμῶντῐ', MND = 'τιμῶντε', MGD = 'τιμώντοιν', MNP = 'τιμῶντες', MAP = 'τιμῶντᾰς', MGP = 'τιμώντων', MDP = 'τιμῶσῐ(ν)', 
				FNS = 'τιμῶσᾰ', FAS = 'τιμῶσᾰν', FGS = 'τιμώσης', FDS = 'τιμώσῃ', FND = 'τιμώσᾱ', FGD = 'τιμώσαιν', FNP = 'τιμῶσαι', FAP = 'τιμώσᾱς', FGP = 'τιμωσῶν', FDP = 'τιμώσαις', 
				NNS = 'τιμῶν', NGS = 'τιμῶντος', NDS = 'τιμῶντῐ', NND = 'τιμῶντε', NGD = 'τιμώντοιν', NNP = 'τιμῶντᾰ', NGP = 'τιμώντων', NDP = 'τιμῶσῐ(ν)', 
				adv = 'τιμώντως',
			},
		},
		{
			{ 'ποιῶν', 'ποιοῦσᾰ' },
			{
				MNS = 'ποιῶν', MAS = 'ποιοῦντᾰ', MGS = 'ποιοῦντος', MDS = 'ποιοῦντῐ', MND = 'ποιοῦντε', MGD = 'ποιούντοιν', MNP = 'ποιοῦντες', MAP = 'ποιοῦντᾰς', MGP = 'ποιούντων', MDP = 'ποιοῦσῐ(ν)', 
				FNS = 'ποιοῦσᾰ', FAS = 'ποιοῦσᾰν', FGS = 'ποιούσης', FDS = 'ποιούσῃ', FND = 'ποιούσᾱ', FGD = 'ποιούσαιν', FNP = 'ποιοῦσαι', FAP = 'ποιούσᾱς', FGP = 'ποιουσῶν', FDP = 'ποιούσαις', 
				NNS = 'ποιοῦν', NGS = 'ποιοῦντος', NDS = 'ποιοῦντῐ', NND = 'ποιοῦντε', NGD = 'ποιούντοιν', NNP = 'ποιοῦντᾰ', NGP = 'ποιούντων', NDP = 'ποιοῦσῐ(ν)', 
				adv = 'ποιούντως',
			},
		},
	}
	iterate_adj(examples)
end

return tests
"https://si.wiktionary.org/w/index.php?title=Module:grc-decl/testcases&oldid=188320" වෙතින් සම්ප්‍රවේශනය කෙරිණි