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