Documentation for this module may be created at Module:ain-translit/testcases/doc

local p = require('Module:UnitTests')
local m = require('Module:ain-translit')

function p:tr(kana, roman)
	self:equals('[[' .. kana .. ']]', m.tr(kana), roman)
end

function p:test_all()
	local examples = {
		{ "アイヌ・イタㇰ", "ainu=itak" },
		{ "カィ ; クィ ; コィ ; カゥ ; キゥ ; ケゥ ; コゥ ; ケィ", "kay ; kuy ; koy ; kaw ; kiw ; kew ; kow ; key" },
		{ "カイ ; クイ ; コイ ; カウ ; キウ ; ケウ ; コウ ; ケイ", "kai ; kui ; koi ; kau ; kiu ; keu ; kou ; kei" },
		{ "カー ; キー ; クー ; ケー ; コー", "kā ; kī ; kū ; kē ; kō" },
		{ "アィヌ モシㇼ", "aynu mosir" },

		-- [[incubator:Wp/ain/Main Page]]
		{ "チ・カㇻ アィヌ イタㇰ ウィキペンチア カンピソ アナㇰネ", "ci=kar aynu itak wikipencia kanpiso anakne" },
		
		{ "ペッ ; ペㇳ", "pet ; pet" },
		{ "オッタ", "otta" },
		{ "カラㇷ゚ト", "karapto" },
		{ "サッポロ", "sapporo" },
		{ "モンペッ", "monpet" },
		{ "イワン ; イワㇴ", "iwan ; iwan" },
		{ "ケㇺ", "kem" },
		{ "ケゥ", "kew" },
		{ "チュㇷ゚ケㇱ", "cupkes" },
		{ "ポンペ", "ponpe" },
		{ "タンモシㇼ", "tanmosir" },
		{ "レプンクㇽ ; レプㇴクㇽ", "repunkur ; repunkur" },

		-- [[w:ja:アイヌ語#日本語に溶け込んだアイヌ語]]
		{ "エトゥ ピㇼカ", "etu pirka" },
		{ "オンネㇷ゚", "onnep" },
		{ "ケマ フレ", "kema hure" },
		{ "コマイ", "komai" },
		{ "カンカイ", "kankai" },
		{ "スサㇺ", "susam" },
		{ "トゥナカイ", "tunakai" },
		{ "ノンノ", "nonno" },
		{ "ハㇱカㇷ゚", "haskap" },
		{ "ポㇰ", "pok" },
		{ "セイ", "sei" },
		{ "ラッコ", "rakko" },
		{ "ルイペ", "ruipe" },
		{ "チャペ", "cape" },
		{ "アペ", "ape" },
		{ "カㇻ", "kar" },
		{ "キナ", "kina" },
		{ "ラㇻ", "rar" },
		{ "トゥスㇱケ", "tususke" },
		{ "ア-", "a-" },
		{ "アィアィ", "ayay" },
		{ "アィヌ", "aynu" },
		{ "アィヌモシㇼ", "aynumosir" },
		{ "アイ", "ai" },
		{ "アイヌ", "ainu" },
		{ "アイヌイタㇰ", "ainuitak" },
		{ "アイル", "airu" },
		{ "アエㇷ゚", "aep" },
		{ "アカㇺ", "akam" },
		{ "アキ", "aki" },
		{ "アシペケッ", "asipeket" },
		{ "アシㇰネ", "asikne" },
		{ "アチポ", "acipo" },
		{ "アチャ", "aca" },
		{ "アチャポ", "acapo" },
		{ "アットゥㇱ", "attus" },
		{ "アトゥ", "atu" },
		{ "アパ", "apa" },
		{ "アフン", "ahun" },
		{ "アフㇷ゚", "ahup" },
		{ "アㇷ゚トアㇱ", "aptoas" },
		{ "アㇷ゚トアㇱパ", "aptoaspa" },
		{ "アベ", "abe" },
		{ "アベチクニ", "abecikuni" },
		{ "アベバシュイ", "abebasui" },
		{ "アペ", "ape" },
		{ "アママ", "amama" },
		{ "アマㇺ", "amam" },
		{ "アミ", "ami" },
		{ "アミヒ", "amihi" },
		{ "アムシペ", "amusipe" },
		{ "アムㇱペ", "amuspe" },
		{ "アリㇷ゚", "arip" },
		{ "アン", "an" },
		{ "アンケㇱ", "ankes" },
		{ "アンチカㇻ", "ancikar" },
		{ "アントゥキ", "antuki" },
		{ "アㇰ", "ak" },
		{ "アㇷ゚カシ", "apkasi" },
		{ "アㇷ゚カㇱ", "apkas" },
		{ "アㇷ゚ト", "apto" },
		{ "アㇺ", "am" },
		{ "アㇺアㇺ", "amam" },
		{ "アㇻワン", "arwan" },
		{ "イサ チセ", "isa cise" },
		{ "イサㇺ", "isam" },
		{ "イソ", "iso" },
		{ "イタコ", "itako" },
		{ "イタㇰ", "itak" },
		{ "イタㇵ", "itah" },
		{ "イナゥ", "inaw" },
		{ "イナオ", "inao" },
		{ "イネ", "ine" },
		{ "イワ", "iwa" },
		{ "イワン", "iwan" },
		{ "ウォセカムイ", "wosekamuy" },
		{ "ウタラ", "utara" },
		{ "ウタリ", "utari" },
		{ "ウタレ", "utare" },
		{ "ウナㇻペ", "unarpe" },
		{ "ウパㇱ", "upas" },
		{ "ウンマ", "unma" },
		{ "エアニ", "eani" },
		{ "エカㇱ", "ekas" },
		{ "エサマン", "esaman" },
		{ "エツ゚", "etu" },
		{ "エトゥ", "etu" },
		{ "エトㇽ", "etor" },
		{ "エムシ", "emusi" },
		{ "オウペカ", "oupeka" },
		{ "オッカヨ", "okkayo" },
		{ "オナ", "ona" },
		{ "カパㇷ゚", "kapap" },
		{ "カムイ", "kamuy" },
		{ "カムイチェㇷ゚", "kamuycep" },
		{ "カムイフㇺベ", "kamuyhumbe" },
		{ "カムイモシㇼ", "kamuymosir" },
		{ "カムイモシリ", "kamuimosiri" },
		{ "カㇺビ", "kambi" },
		{ "カㇺビソㇱ", "kambisos" },
		{ "キキㇼ", "kikir" },
		{ "キサㇻ", "kisar" },
		{ "キㇺ", "kim" },
		{ "クアニ", "kuani" },
		{ "クㇷ゚", "kup" },
		{ "ケス", "kesu" },
		{ "ケム", "kemu" },
		{ "ケモリッ", "kemorit" },
		{ "ケラ", "kera" },
		{ "コタン", "kotan" },
		{ "コッ", "kot" },
		{ "コンボ", "konbo" },
		{ "コㇿ", "kor" },
		{ "サパ", "sapa" },
		{ "サポ", "sapo" },
		{ "シサㇺ", "sisam" },
		{ "シネ", "sine" },
		{ "シネペサン", "sinepesan" },
		{ "シュマリ", "sumari" },
		{ "シㇰ", "sik" },
		{ "シㇼ", "sir" },
		{ "スス", "susu" },
		{ "セ゚", "ce" },
		{ "セタ", "seta" },
		{ "ソ", "so" },
		{ "チイェネ", "ciyene" },
		{ "チイェヘ", "ciyehe" },
		{ "チェㇷ゚", "cep" },
		{ "チセ", "cise" },
		{ "チャシ", "casi" },
		{ "チャペ", "cape" },
		{ "チュㇷ゚", "cup" },
		{ "チㇱ", "cis" },
		{ "ツ゚", "tu" },
		{ "ツ゚ペサン", "tupesan" },
		{ "ツ゚ンプ", "tunpu" },
		{ "テㇰ", "tek" },
		{ "ト", "to" },
		{ "ト゚", "tu" },
		{ "トゥキ", "tuki" },
		{ "トゥナカィ", "tunakay" },
		{ "トゥレㇱ", "tures" },
		{ "トペ", "tope" },
		{ "トンコリ", "tonkori" },
		{ "ナイ", "nai" },
		{ "ナン", "nan" },
		{ "ニ", "ni" },
		{ "ニㇱ", "nis" },
		{ "ヌカㇽ", "nukar" },
		{ "ヌチャ", "nuca" },
		{ "ヌプリ", "nupuri" },
		{ "ヌマリ", "numari" },
		{ "ヌマン", "numan" },
		{ "ネトパケ", "netopake" },
		{ "ハポ", "hapo" },
		{ "ハンペ", "hanpe" },
		{ "ハㇱカプ", "haskapu" },
		{ "ハㇺ", "ham" },
		{ "パケ", "pake" },
		{ "パシユイ", "pasiyui" },
		{ "パスイ", "pasui" },
		{ "ピリカ", "pirika" },
		{ "フ", "hu" },
		{ "フチ", "huci" },
		{ "フッチ", "hutci" },
		{ "フンチ・ヌプリ", "hunci=nupuri" },
		{ "フンペ", "hunpe" },
		{ "フㇺベ", "humbe" },
		{ "プクサ", "pukusa" },
		{ "ペツ", "pecu" },
		{ "ホシピ", "hosipi" },
		{ "ホシピレ", "hosipire" },
		{ "ホㇰ", "hok" },
		{ "ホㇿケゥ", "horkew" },
		{ "ポル", "poru" },
		{ "マウ", "mau" },
		{ "マタキ", "mataki" },
		{ "ミチ", "mici" },
		{ "ムックリ", "mukkuri" },
		{ "メノコ", "menoko" },
		{ "モシリ", "mosiri" },
		{ "モシㇼ", "mosir" },
		{ "モユㇰ", "moyuk" },
		{ "ユポ", "yupo" },
		{ "ユㇰ", "yuk" },
		{ "ライ", "rai" },
		{ "ラッコ", "rakko" },
		{ "レ", "re" },
		{ "レエㇷ゚", "reep" },
		{ "レハムㇱ", "rehamus" },
		{ "レプンカムイ", "repunkamuy" },
		{ "レラ", "rera" },
		{ "ワッカ", "wakka" },
		{ "ワン", "wan" },
		{ "ペ", "pe" },
		{ "アイ", "ai" },
		{ "アエㇷ゚", "aep" },
		{ "アオカ", "aoka" },
		{ "アオカイ", "aokai" },
		{ "アクス", "akusu" },
		{ "アシ", "asi" },
		{ "アシヌマ", "asinuma" },
		{ "アシㇰネ", "asikne" },
		{ "アシㇰネン", "asiknen" },
		{ "アシㇰネㇷ゚", "asiknep" },
		{ "アスㇽ", "asur" },
		{ "アタイ", "atai" },
		{ "アチャポ", "acapo" },
		{ "アニ", "ani" },
		{ "アヌ", "anu" },
		{ "アノカイ", "anokai" },
		{ "アパ", "apa" },
		{ "アフン", "ahun" },
		{ "アフンケ", "ahunke" },
		{ "アフンポル", "ahunporu" },
		{ "アフㇷ゚テ", "ahupte" },
		{ "アプンノ", "apunno" },
		{ "アペ", "ape" },
		{ "アペアリ", "apeari" },
		{ "アペパスイ", "apepasui" },
		{ "アマㇺ", "amam" },
		{ "アミㇷ゚", "amip" },
		{ "アリ", "ari" },
		{ "アリキキ", "arikiki" },
		{ "アン", "an" },
		{ "アンノㇱキ", "annoski" },
		{ "アㇱ", "as" },
		{ "アㇱカイ", "askai"},
		{ "アㇷ゚カㇱ", "apkas" },
		{ "アㇷ゚ト", "apto" },
		{ "アㇺ", "am" },
		{ "アㇻワニウ", "arwaniu" },
		{ "アㇻワン", "arwan" },
		{ "アㇻワンペ", "arwanpe" },
		{ "イェ", "ye" },
		{ "イオマンテ", "iomante" },
		{ "イカㇱマ", "ikasma" },
		{ "イキ", "iki" },
		{ "イク", "iku" },
		{ "イクパスイ", "ikupasui" },
		{ "イクルイ", "ikurui" },
		{ "イクレ", "ikure" },
		{ "イサㇺ", "isam" },
		{ "イシタイキ", "isitaiki" },
		{ "イセポ", "isepo" },
		{ "イソイタㇰ", "isoitak" },
		{ "イタコ", "itako" },
		{ "イタンキ", "itanki" },
		{ "イタㇰ", "itak" },
		{ "イチェン", "icen" },
		{ "イチャッケレレ", "icakkerere" },
		{ "イッカ", "ikka" },
		{ "イッカクㇽ", "ikkakur" },
		{ "イテキ", "iteki" },
		{ "イテセ", "itese" },
		{ "イナウケ", "inauke" },
		{ "イナン", "inan" },
		{ "イヌイェ", "inuye" },
		{ "イネ", "ine" },
		{ "イネン", "inen" },
		{ "イネㇷ゚", "inep" },
		{ "イフライェ", "ihuraye" },
		{ "イペ", "ipe" },
		{ "イペパスイ", "ipepasui" },
		{ "イペルスイ", "iperusui" },
		{ "イペレ", "ipere" },
		{ "イメル", "imeru" },
		{ "イヨッタ", "iyotta" },
		{ "イヨハイ", "iyohai" },
		{ "イララ", "irara" },
		{ "イルㇱカ", "iruska" },
		{ "イワニウ", "iwaniu" },
		{ "イワンケ", "iwanke" },
		{ "イワンペ", "iwanpe" },
		{ "インネ", "inne" },
		{ "イ・", "i=" },
		{ "イㇱラㇺ", "isram" },
		{ "ウェン", "wen" },
		{ "ウェンクㇽ", "wenkur" },
		{ "ウタロカ", "utaroka" },
		{ "ウタㇻ", "utar" },
		{ "ウパㇱ", "upas" },
		{ "ウパㇱクマ", "upaskuma" },
		{ "ウㇱ", "us" },
		{ "エアニ", "eani" },
		{ "エソロ", "esoro" },
		{ "エチオカ", "ecioka" },
		{ "エチオカイ", "eciokai" },
		{ "エチ・", "eci=" },
		{ "エンカ", "enka" },
		{ "エ・", "e=" },
		{ "エㇰ", "ek" },
		{ "オカ", "oka" },
		{ "オカイ", "okai" },
		{ "オナ", "ona" },
		{ "オマナン", "omanan" },
		{ "オヤパ", "oyapa" },
		{ "オロ", "oro" },
		{ "オン", "on" },
		{ "オㇿ", "or" },
		{ "カシ", "kasi" },
		{ "カシケ", "kasike" },
		{ "カネ", "kane" },
	}
	self:iterate(examples, "tr")
end
 
return p