Modul:sa-utilities/translit/testcases

Minden teszt sikeres. (frissítés)

Szöveg Várt Tényleges Első eltérés
test_Deva_conversion:
Sikeres संस्कृत saṃskṛta, saMskfta, संस्कृत saṃskṛta, saMskfta, संस्कृत
Sikeres तन्त्र tantra, tantra, तन्त्र tantra, tantra, तन्त्र
Sikeres चन्द्र candra, candra, चन्द्र candra, candra, चन्द्र
Sikeres स्वतंत्र svataṃtra, svataMtra, स्वतंत्र svataṃtra, svataMtra, स्वतंत्र
Sikeres त्रैंश traiṃśa, trEMSa, त्रैंश traiṃśa, trEMSa, त्रैंश
Sikeres कार्त्स्न्य kārtsnya, kArtsnya, कार्त्स्न्य kārtsnya, kArtsnya, कार्त्स्न्य
Sikeres उक्त्वा uktvā, uktvA, उक्त्वा uktvā, uktvA, उक्त्वा
Sikeres औपद्रष्ट्र्य aupadraṣṭrya, Opadrazwrya, औपद्रष्ट्र्य aupadraṣṭrya, Opadrazwrya, औपद्रष्ट्र्य
Sikeres मार्त्स्न mārtsna, mArtsna, मार्त्स्न mārtsna, mArtsna, मार्त्स्न
Sikeres निकुञ्जिकाम्ला nikuñjikāmlā, nikuYjikAmlA, निकुञ्जिकाम्ला nikuñjikāmlā, nikuYjikAmlA, निकुञ्जिकाम्ला
Sikeres महत् mahat, mahat, महत् mahat, mahat, महत्
Szöveg Várt Tényleges Első eltérés
test_IAST_conversion:
Sikeres saṃskṛtá saMskfta/, संस्कृत, saṃskṛtá saMskfta/, संस्कृत, saṃskṛtá
Sikeres tántra ta/ntra, तन्त्र, tántra ta/ntra, तन्त्र, tántra
Sikeres candrá candra/, चन्द्र, candrá candra/, चन्द्र, candrá
Sikeres svátaṃtra sva/taMtra, स्वतंत्र, svátaṃtra sva/taMtra, स्वतंत्र, svátaṃtra
Sikeres traiṃśa trEMSa, त्रैंश, traiṃśa trEMSa, त्रैंश, traiṃśa
Sikeres kārtsnya kArtsnya, कार्त्स्न्य, kārtsnya kArtsnya, कार्त्स्न्य, kārtsnya
Sikeres uktvā uktvA, उक्त्वा, uktvā uktvA, उक्त्वा, uktvā
Sikeres aúpadraṣṭrya O/padrazwrya, औपद्रष्ट्र्य, aúpadraṣṭrya O/padrazwrya, औपद्रष्ट्र्य, aúpadraṣṭrya
Sikeres áupadraṣṭrya O/padrazwrya, औपद्रष्ट्र्य, aúpadraṣṭrya O/padrazwrya, औपद्रष्ट्र्य, aúpadraṣṭrya
Sikeres mā́rtsna mA/rtsna, मार्त्स्न, mā́rtsna mA/rtsna, मार्त्स्न, mā́rtsna
Sikeres nikuñjikāmlā nikuYjikAmlA, निकुञ्जिकाम्ला, nikuñjikāmlā nikuYjikAmlA, निकुञ्जिकाम्ला, nikuñjikāmlā
Sikeres mahát maha/t, महत्, mahát maha/t, महत्, mahát
Sikeres kanyā̀ kanyA\, कन्या, kanyā̀ kanyA\, कन्या, kanyā̀
Sikeres mūrdhán mUrDa/n, मूर्धन्, mūrdhán mUrDa/n, मूर्धन्, mūrdhán
Sikeres átharvan a/Tarvan, अथर्वन्, átharvan a/Tarvan, अथर्वन्, átharvan
Sikeres mūrkhá mUrKa/, मूर्ख, mūrkhá mUrKa/, मूर्ख, mūrkhá
Szöveg Várt Tényleges Első eltérés
test_detect_to_SLP:
Sikeres saṃskṛtá saMskfta/ saMskfta/
Sikeres tántra ta/ntra ta/ntra
Sikeres candrá candra/ candra/
Sikeres स्वतंत्र svataMtra svataMtra
Sikeres traiṃśa trEMSa trEMSa
Sikeres कार्त्स्न्य kArtsnya kArtsnya
Sikeres uktvā uktvA uktvA
Sikeres औपद्रष्ट्र्य Opadrazwrya Opadrazwrya
Sikeres áupadraṣṭrya O/padrazwrya O/padrazwrya
Sikeres mā́rtsna mA/rtsna mA/rtsna
Sikeres निकुञ्जिकाम्ला nikuYjikAmlA nikuYjikAmlA
Sikeres महत् mahat mahat

local tests = require('Module:UnitTests')
local m_links = require('Module:links')
local lang = require('Module:languages').getByCode('sa')
local sa_utils_translit = require('Module:sa-utilities/translit')
local Deva_to_IAST = require('Module:sa-utilities/translit/Deva-to-IAST')
local Deva_to_SLP = require('Module:sa-utilities/translit/Deva-to-SLP1')
local IAST_to_SLP = require('Module:sa-utilities/translit/IAST-to-SLP1')
local SLP_to_IAST = require('Module:sa-utilities/translit/SLP1-to-IAST')
local SLP_to_Deva = require('Module:sa-utilities/translit/SLP1-to-Deva')

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

function tests:check_Deva_conversion(input, expected)
	input = input[1]
	local slp = Deva_to_SLP.tr(input)
	table.insert(expected, input)
	self:equals(link(input),
		table.concat({ Deva_to_IAST.tr(input), slp, SLP_to_Deva.tr(slp) }, ', '),
		table.concat(expected, ', '))
end

function tests:test_Deva_conversion()
	local examples = {
		{ { 'संस्कृत' }, { 'saṃskṛta', 'saMskfta' } },
		{ { 'तन्त्र' }, { 'tantra', 'tantra' } },
		{ { 'चन्द्र' }, { 'candra', 'candra' } },
		{ { 'स्वतंत्र' }, { 'svataṃtra', 'svataMtra' } },
		{ { 'त्रैंश' }, { 'traiṃśa', 'trEMSa' } },
		{ { 'कार्त्स्न्य' }, { 'kārtsnya', 'kArtsnya' } },
		{ { 'उक्त्वा' }, { 'uktvā', 'uktvA' } },
		{ { 'औपद्रष्ट्र्य' }, { 'aupadraṣṭrya', 'Opadrazwrya' } },
		{ { 'मार्त्स्न' }, { 'mārtsna', 'mArtsna' } },
		{ { 'निकुञ्जिकाम्ला' }, { 'nikuñjikāmlā', 'nikuYjikAmlA' } },
		{ { 'महत्' }, { 'mahat', 'mahat' } },
	}
	self:iterate(examples, 'check_Deva_conversion')
end

function tests:check_IAST_conversion(input, expected)
	input = input[1]
	local slp = IAST_to_SLP.tr(input)
	if #expected < 3 then table.insert(expected, input) end
	self:equals(input,
		table.concat({ slp, SLP_to_Deva.tr(slp), SLP_to_IAST.tr(slp) }, ', '),
		table.concat(expected, ', '))
end

function tests:test_IAST_conversion()
	local examples = {
		{ { 'saṃskṛtá' }, { 'saMskfta/', 'संस्कृत', } },
		{ { 'tántra' }, { 'ta/ntra', 'तन्त्र' } },
		{ { 'candrá' }, { 'candra/', 'चन्द्र' } },
		{ { 'svátaṃtra' }, { 'sva/taMtra', 'स्वतंत्र' } },
		{ { 'traiṃśa' }, { 'trEMSa', 'त्रैंश' } },
		{ { 'kārtsnya' }, { 'kArtsnya', 'कार्त्स्न्य' } },
		{ { 'uktvā' }, { 'uktvA', 'उक्त्वा' } },
		{ { 'aúpadraṣṭrya' }, { 'O/padrazwrya', 'औपद्रष्ट्र्य' } },
		{ { 'áupadraṣṭrya' }, { 'O/padrazwrya', 'औपद्रष्ट्र्य', 'aúpadraṣṭrya' } },
		{ { 'mā́rtsna' }, { 'mA/rtsna', 'मार्त्स्न' } },
		{ { 'nikuñjikāmlā' }, { 'nikuYjikAmlA', 'निकुञ्जिकाम्ला' } },
		{ { 'mahát' }, { 'maha/t', 'महत्' } },
		{ { 'kanyā̀' }, { 'kanyA\\', 'कन्या' } },
		{ { 'mūrdhán' }, { 'mUrDa/n', 'मूर्धन्' } },
		{ { 'átharvan' }, { 'a/Tarvan', 'अथर्वन्' } },
		{ { 'mūrkhá' }, { 'mUrKa/', 'मूर्ख' } },
	}
	self:iterate(examples, 'check_IAST_conversion')
end

function tests:check_detect_to_SLP(input, expected)
	input = input[1]
	local slp = IAST_to_SLP.tr(input)
	self:equals(input,
		sa_utils_translit.detect_to_SLP(input),
		expected[1])
end

function tests:test_detect_to_SLP()
	local examples = {
		{ { 'saṃskṛtá' }, { 'saMskfta/' } },
		{ { 'tántra' }, { 'ta/ntra' } },
		{ { 'candrá' }, { 'candra/' } },
		{ { 'स्वतंत्र' }, { 'svataMtra' } },
		{ { 'traiṃśa' }, { 'trEMSa' } },
		{ { 'कार्त्स्न्य' }, { 'kArtsnya' } },
		{ { 'uktvā' }, { 'uktvA' } },
		{ { 'औपद्रष्ट्र्य' }, { 'Opadrazwrya' } },
		{ { 'áupadraṣṭrya' }, { 'O/padrazwrya' } },
		{ { 'mā́rtsna' }, { 'mA/rtsna' } },
		{ { 'निकुञ्जिकाम्ला' }, { 'nikuYjikAmlA' } },
		{ { 'महत्' }, { 'mahat' } },
	}
	self:iterate(examples, 'check_detect_to_SLP')
end

return tests