Aru is different!

This commit is contained in:
Bill Rossi 2025-08-17 09:53:30 -04:00
parent a85bd2b5ab
commit f2534ecef0
2 changed files with 22 additions and 0 deletions

View File

@ -130,10 +130,20 @@ class GodanVerb < Verb
dict.kanji == "行く" dict.kanji == "行く"
end end
def aru?
dict.kanji == "ある"
end
def stem def stem
all_but_last_character + last_character("i") all_but_last_character + last_character("i")
end end
def short_form_present_negative
return KanaKanji.new("ない") if aru?
super
end
def negative_stem def negative_stem
all_but_last_character + last_character("a") all_but_last_character + last_character("a")
end end

View File

@ -19,6 +19,7 @@ class TestVerb < Minitest::Test
@benkyousuru = SuruVerb.new("勉強する", "べんきょうする", "to study") @benkyousuru = SuruVerb.new("勉強する", "べんきょうする", "to study")
@kuru = KuruVerb.new("来る", "くる", "to come") @kuru = KuruVerb.new("来る", "くる", "to come")
@tsuretekuru = KuruVerb.new("連れて来る", "つれてくる", "to bring somebody along") @tsuretekuru = KuruVerb.new("連れて来る", "つれてくる", "to bring somebody along")
@aru = GodanVerb.new("ある", "ある", "to be")
end end
def test_te_form def test_te_form
@ -44,6 +45,7 @@ class TestVerb < Minitest::Test
assert_equal "きて", @kuru.te.kana assert_equal "きて", @kuru.te.kana
assert_equal "連れて来て", @tsuretekuru.te.kanji assert_equal "連れて来て", @tsuretekuru.te.kanji
assert_equal "つれてきて", @tsuretekuru.te.kana assert_equal "つれてきて", @tsuretekuru.te.kana
assert_equal "あって", @aru.te.kana
end end
def test_long_form_present_positive def test_long_form_present_positive
@ -59,6 +61,7 @@ class TestVerb < Minitest::Test
assert_equal "きます", @kuru.long_form_present_positive.kana assert_equal "きます", @kuru.long_form_present_positive.kana
assert_equal "連れて来ます", @tsuretekuru.long_form_present_positive.kanji assert_equal "連れて来ます", @tsuretekuru.long_form_present_positive.kanji
assert_equal "つれてきます", @tsuretekuru.long_form_present_positive.kana assert_equal "つれてきます", @tsuretekuru.long_form_present_positive.kana
assert_equal "あります", @aru.long_form_present_positive.kana
end end
def test_long_form_present_negative def test_long_form_present_negative
@ -74,6 +77,7 @@ class TestVerb < Minitest::Test
assert_equal "きません", @kuru.long_form_present_negative.kana assert_equal "きません", @kuru.long_form_present_negative.kana
assert_equal "連れて来ません", @tsuretekuru.long_form_present_negative.kanji assert_equal "連れて来ません", @tsuretekuru.long_form_present_negative.kanji
assert_equal "つれてきません", @tsuretekuru.long_form_present_negative.kana assert_equal "つれてきません", @tsuretekuru.long_form_present_negative.kana
assert_equal "ありません", @aru.long_form_present_negative.kana
end end
def test_short_form_present_positive def test_short_form_present_positive
@ -89,6 +93,7 @@ class TestVerb < Minitest::Test
assert_equal "くる", @kuru.short_form_present_positive.kana assert_equal "くる", @kuru.short_form_present_positive.kana
assert_equal "連れて来る", @tsuretekuru.short_form_present_positive.kanji assert_equal "連れて来る", @tsuretekuru.short_form_present_positive.kanji
assert_equal "つれてくる", @tsuretekuru.short_form_present_positive.kana assert_equal "つれてくる", @tsuretekuru.short_form_present_positive.kana
assert_equal "ある", @aru.short_form_present_positive.kana
end end
def test_short_form_present_negative def test_short_form_present_negative
@ -104,6 +109,7 @@ class TestVerb < Minitest::Test
assert_equal "こない", @kuru.short_form_present_negative.kana assert_equal "こない", @kuru.short_form_present_negative.kana
assert_equal "連れて来ない", @tsuretekuru.short_form_present_negative.kanji assert_equal "連れて来ない", @tsuretekuru.short_form_present_negative.kanji
assert_equal "つれてこない", @tsuretekuru.short_form_present_negative.kana assert_equal "つれてこない", @tsuretekuru.short_form_present_negative.kana
assert_equal "ない", @aru.short_form_present_negative.kana
end end
def test_long_form_past_positive def test_long_form_past_positive
@ -119,6 +125,7 @@ class TestVerb < Minitest::Test
assert_equal "きました", @kuru.long_form_past_positive.kana assert_equal "きました", @kuru.long_form_past_positive.kana
assert_equal "連れて来ました", @tsuretekuru.long_form_past_positive.kanji assert_equal "連れて来ました", @tsuretekuru.long_form_past_positive.kanji
assert_equal "つれてきました", @tsuretekuru.long_form_past_positive.kana assert_equal "つれてきました", @tsuretekuru.long_form_past_positive.kana
assert_equal "ありました", @aru.long_form_past_positive.kana
end end
def test_long_form_past_negative def test_long_form_past_negative
@ -134,6 +141,7 @@ class TestVerb < Minitest::Test
assert_equal "きませんでした", @kuru.long_form_past_negative.kana assert_equal "きませんでした", @kuru.long_form_past_negative.kana
assert_equal "連れて来ませんでした", @tsuretekuru.long_form_past_negative.kanji assert_equal "連れて来ませんでした", @tsuretekuru.long_form_past_negative.kanji
assert_equal "つれてきませんでした", @tsuretekuru.long_form_past_negative.kana assert_equal "つれてきませんでした", @tsuretekuru.long_form_past_negative.kana
assert_equal "ありませんでした", @aru.long_form_past_negative.kana
end end
def test_short_form_past_positive def test_short_form_past_positive
@ -149,6 +157,7 @@ class TestVerb < Minitest::Test
assert_equal "きた", @kuru.short_form_past_positive.kana assert_equal "きた", @kuru.short_form_past_positive.kana
assert_equal "連れて来た", @tsuretekuru.short_form_past_positive.kanji assert_equal "連れて来た", @tsuretekuru.short_form_past_positive.kanji
assert_equal "つれてきた", @tsuretekuru.short_form_past_positive.kana assert_equal "つれてきた", @tsuretekuru.short_form_past_positive.kana
assert_equal "あった", @aru.short_form_past_positive.kana
end end
def test_short_form_past_negative def test_short_form_past_negative
@ -164,6 +173,7 @@ class TestVerb < Minitest::Test
assert_equal "こなかった", @kuru.short_form_past_negative.kana assert_equal "こなかった", @kuru.short_form_past_negative.kana
assert_equal "連れて来なかった", @tsuretekuru.short_form_past_negative.kanji assert_equal "連れて来なかった", @tsuretekuru.short_form_past_negative.kanji
assert_equal "つれてこなかった", @tsuretekuru.short_form_past_negative.kana assert_equal "つれてこなかった", @tsuretekuru.short_form_past_negative.kana
assert_equal "なかった", @aru.short_form_past_negative.kana
end end
def test_desire def test_desire
@ -179,6 +189,7 @@ class TestVerb < Minitest::Test
assert_equal "きたい", @kuru.desire.kana assert_equal "きたい", @kuru.desire.kana
assert_equal "連れて来たい", @tsuretekuru.desire.kanji assert_equal "連れて来たい", @tsuretekuru.desire.kanji
assert_equal "つれてきたい", @tsuretekuru.desire.kana assert_equal "つれてきたい", @tsuretekuru.desire.kana
assert_equal "ありたい", @aru.desire.kana
end end
def test_potential def test_potential
@ -194,5 +205,6 @@ class TestVerb < Minitest::Test
assert_equal "こられる", @kuru.potential.dictionary.kana assert_equal "こられる", @kuru.potential.dictionary.kana
assert_equal "連れて来られる", @tsuretekuru.potential.dictionary.kanji assert_equal "連れて来られる", @tsuretekuru.potential.dictionary.kanji
assert_equal "つれてこられる", @tsuretekuru.potential.dictionary.kana assert_equal "つれてこられる", @tsuretekuru.potential.dictionary.kana
assert_equal "あれる", @aru.potential.dictionary.kana
end end
end end