Past tense

This commit is contained in:
Bill Rossi 2025-08-16 09:22:23 -04:00
parent 60ce9f2690
commit 52d77652d0
2 changed files with 64 additions and 0 deletions

View File

@ -10,6 +10,10 @@ U_VOWEL_CHANGES = {
"" => { "a" => "", "i" => "", "u" => "", "e" => "", "o" => "" }, "" => { "a" => "", "i" => "", "u" => "", "e" => "", "o" => "" },
} }
TE_TA_DE_DA = {
"" => "", "" => ""
}
class KanaKanji class KanaKanji
attr_reader :kana, :kanji attr_reader :kana, :kanji
def initialize(kana, kanji=nil) def initialize(kana, kanji=nil)
@ -69,9 +73,25 @@ class Verb
stem + "ません" stem + "ません"
end end
def long_form_past_positive
stem + "ました"
end
def long_form_past_negative
long_form_present_negative + "でした"
end
def short_form_present_positive def short_form_present_positive
dictionary dictionary
end end
def short_form_past_positive
te.all_but_last_character + TE_TA_DE_DA[te.last_character]
end
def short_form_past_negative
short_form_present_negative.all_but_last_character + "かった"
end
end end
class IchidanVerb < Verb class IchidanVerb < Verb

View File

@ -83,4 +83,48 @@ class TestVerb < Minitest::Test
assert_equal "勉強しない", @benkyousuru.short_form_present_negative.kanji assert_equal "勉強しない", @benkyousuru.short_form_present_negative.kanji
assert_equal "べんきょうしない", @benkyousuru.short_form_present_negative.kana assert_equal "べんきょうしない", @benkyousuru.short_form_present_negative.kana
end end
def test_long_form_past_positive
assert_equal "見ました", @miru.long_form_past_positive.kanji
assert_equal "みました", @miru.long_form_past_positive.kana
assert_equal "飲みました", @nomu.long_form_past_positive.kanji
assert_equal "のみました", @nomu.long_form_past_positive.kana
assert_equal "しました", @suru.long_form_past_positive.kanji
assert_equal "しました", @suru.long_form_past_positive.kana
assert_equal "勉強しました", @benkyousuru.long_form_past_positive.kanji
assert_equal "べんきょうしました", @benkyousuru.long_form_past_positive.kana
end
def test_long_form_past_negative
assert_equal "見ませんでした", @miru.long_form_past_negative.kanji
assert_equal "みませんでした", @miru.long_form_past_negative.kana
assert_equal "飲みませんでした", @nomu.long_form_past_negative.kanji
assert_equal "のみませんでした", @nomu.long_form_past_negative.kana
assert_equal "しませんでした", @suru.long_form_past_negative.kanji
assert_equal "しませんでした", @suru.long_form_past_negative.kana
assert_equal "勉強しませんでした", @benkyousuru.long_form_past_negative.kanji
assert_equal "べんきょうしませんでした", @benkyousuru.long_form_past_negative.kana
end
def test_short_form_past_positive
assert_equal "見た", @miru.short_form_past_positive.kanji
assert_equal "みた", @miru.short_form_past_positive.kana
assert_equal "飲んだ", @nomu.short_form_past_positive.kanji
assert_equal "のんだ", @nomu.short_form_past_positive.kana
assert_equal "した", @suru.short_form_past_positive.kanji
assert_equal "した", @suru.short_form_past_positive.kana
assert_equal "勉強した", @benkyousuru.short_form_past_positive.kanji
assert_equal "べんきょうした", @benkyousuru.short_form_past_positive.kana
end
def test_short_form_past_negative
assert_equal "見なかった", @miru.short_form_past_negative.kanji
assert_equal "みなかった", @miru.short_form_past_negative.kana
assert_equal "飲まなかった", @nomu.short_form_past_negative.kanji
assert_equal "のまなかった", @nomu.short_form_past_negative.kana
assert_equal "しなかった", @suru.short_form_past_negative.kanji
assert_equal "しなかった", @suru.short_form_past_negative.kana
assert_equal "勉強しなかった", @benkyousuru.short_form_past_negative.kanji
assert_equal "べんきょうしなかった", @benkyousuru.short_form_past_negative.kana
end
end end