118 lines
4.5 KiB
Ruby
118 lines
4.5 KiB
Ruby
require "ika_conjugations/kana_kanji"
|
|
require "minitest/autorun"
|
|
|
|
module IkaConjugations
|
|
class TestKanaKanji < Minitest::Test
|
|
def test_initialize
|
|
with_kanji = KanaKanji.new("a", "b")
|
|
assert_equal "a", with_kanji.kana
|
|
assert_equal "b", with_kanji.kanji
|
|
|
|
without_kanji = KanaKanji.new("c")
|
|
assert_equal "c", without_kanji.kana
|
|
assert_equal "c", without_kanji.kanji
|
|
end
|
|
|
|
def test_array_index
|
|
example = KanaKanji.new("kana", "kanji")
|
|
assert_equal "a", example[-1].kana
|
|
assert_equal "i", example[-1].kanji
|
|
assert_equal "kan", example[0..2].kana
|
|
assert_equal "ji", example[-2..].kanji
|
|
end
|
|
|
|
def test_add
|
|
prefix = KanaKanji.new("kana_prefix", "kanji_prefix")
|
|
add_string = prefix + "_single_suffix"
|
|
assert_equal "kana_prefix_single_suffix", add_string.kana
|
|
assert_equal "kanji_prefix_single_suffix", add_string.kanji
|
|
|
|
suffix = KanaKanji.new("_kana_suffix", "_kanji_suffix")
|
|
add_kana_kanji = prefix + suffix
|
|
assert_equal "kana_prefix_kana_suffix", add_kana_kanji.kana
|
|
assert_equal "kanji_prefix_kanji_suffix", add_kana_kanji.kanji
|
|
end
|
|
|
|
def test_last_character
|
|
toru = KanaKanji.new("取る", "とる")
|
|
assert_equal "る", toru.last_character
|
|
assert_equal "ら", toru.last_character("a")
|
|
assert_equal "り", toru.last_character("i")
|
|
assert_equal "る", toru.last_character("u")
|
|
assert_equal "れ", toru.last_character("e")
|
|
assert_equal "ろ", toru.last_character("o")
|
|
|
|
au = KanaKanji.new("会う", "あう")
|
|
assert_equal "う", au.last_character
|
|
assert_equal "わ", au.last_character("a")
|
|
assert_equal "い", au.last_character("i")
|
|
assert_equal "う", au.last_character("u")
|
|
assert_equal "え", au.last_character("e")
|
|
assert_equal "お", au.last_character("o")
|
|
|
|
matsu = KanaKanji.new("待つ", "まつ")
|
|
assert_equal "つ", matsu.last_character
|
|
assert_equal "た", matsu.last_character("a")
|
|
assert_equal "ち", matsu.last_character("i")
|
|
assert_equal "つ", matsu.last_character("u")
|
|
assert_equal "て", matsu.last_character("e")
|
|
assert_equal "と", matsu.last_character("o")
|
|
|
|
hanasu = KanaKanji.new("話す", "はなす")
|
|
assert_equal "す", hanasu.last_character
|
|
assert_equal "さ", hanasu.last_character("a")
|
|
assert_equal "し", hanasu.last_character("i")
|
|
assert_equal "す", hanasu.last_character("u")
|
|
assert_equal "せ", hanasu.last_character("e")
|
|
assert_equal "そ", hanasu.last_character("o")
|
|
|
|
iku = KanaKanji.new("行く", "いく")
|
|
assert_equal "く", iku.last_character
|
|
assert_equal "か", iku.last_character("a")
|
|
assert_equal "き", iku.last_character("i")
|
|
assert_equal "く", iku.last_character("u")
|
|
assert_equal "け", iku.last_character("e")
|
|
assert_equal "こ", iku.last_character("o")
|
|
|
|
oyogu = KanaKanji.new("泳ぐ", "およぐ")
|
|
assert_equal "ぐ", oyogu.last_character
|
|
assert_equal "が", oyogu.last_character("a")
|
|
assert_equal "ぎ", oyogu.last_character("i")
|
|
assert_equal "ぐ", oyogu.last_character("u")
|
|
assert_equal "げ", oyogu.last_character("e")
|
|
assert_equal "ご", oyogu.last_character("o")
|
|
|
|
asobu = KanaKanji.new("遊ぶ", "あそぶ")
|
|
assert_equal "ぶ", asobu.last_character
|
|
assert_equal "ば", asobu.last_character("a")
|
|
assert_equal "び", asobu.last_character("i")
|
|
assert_equal "ぶ", asobu.last_character("u")
|
|
assert_equal "べ", asobu.last_character("e")
|
|
assert_equal "ぼ", asobu.last_character("o")
|
|
|
|
sumu = KanaKanji.new("住む", "すむ")
|
|
assert_equal "む", sumu.last_character
|
|
assert_equal "ま", sumu.last_character("a")
|
|
assert_equal "み", sumu.last_character("i")
|
|
assert_equal "む", sumu.last_character("u")
|
|
assert_equal "め", sumu.last_character("e")
|
|
assert_equal "も", sumu.last_character("o")
|
|
|
|
shinu = KanaKanji.new("死ぬ", "しぬ")
|
|
assert_equal "ぬ", shinu.last_character
|
|
assert_equal "な", shinu.last_character("a")
|
|
assert_equal "に", shinu.last_character("i")
|
|
assert_equal "ぬ", shinu.last_character("u")
|
|
assert_equal "ね", shinu.last_character("e")
|
|
assert_equal "の", shinu.last_character("o")
|
|
end
|
|
|
|
def test_all_but_last_character
|
|
unsure = KanaKanji.new("yes?", "please?")
|
|
sure = unsure.all_but_last_character
|
|
assert_equal "yes", sure.kana
|
|
assert_equal "please", sure.kanji
|
|
end
|
|
end
|
|
end
|