1require 'test/unit' 2require 'abbrev' 3 4class TestAbbrev < Test::Unit::TestCase 5 def test_abbrev 6 words = %w[summer winter win ruby rules] 7 8 assert_equal({ 9 "rub" => "ruby", 10 "ruby" => "ruby", 11 "rul" => "rules", 12 "rule" => "rules", 13 "rules" => "rules", 14 "s" => "summer", 15 "su" => "summer", 16 "sum" => "summer", 17 "summ" => "summer", 18 "summe" => "summer", 19 "summer" => "summer", 20 "win" => "win", 21 "wint" => "winter", 22 "winte" => "winter", 23 "winter" => "winter", 24 }, words.abbrev) 25 26 assert_equal({ 27 "rub" => "ruby", 28 "ruby" => "ruby", 29 "rul" => "rules", 30 "rule" => "rules", 31 "rules" => "rules", 32 }, words.abbrev('ru')) 33 34 assert_equal words.abbrev, Abbrev.abbrev(words) 35 assert_equal words.abbrev('ru'), Abbrev.abbrev(words, 'ru') 36 end 37 38 def test_abbrev_lf 39 words = ["abc", "abc\nd", "de"] 40 41 assert_equal({ 42 "abc" => "abc", 43 "abc\n" => "abc\nd", 44 "abc\nd" => "abc\nd", 45 "d" => "de", 46 "de" => "de", 47 }, words.abbrev) 48 49 assert_equal({ 50 "d" => "de", 51 "de" => "de", 52 }, words.abbrev('d')) 53 end 54end 55