ika_conjugations/test/ika_conjugations/test_kana_kanji.rb

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