mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

tests. [ruby-core:17704] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@17983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
80 lines
1.8 KiB
Ruby
80 lines
1.8 KiB
Ruby
require 'test/unit'
|
|
|
|
class TestString < Test::Unit::TestCase
|
|
def check_sum(str, bits=16)
|
|
sum = 0
|
|
str.each_byte {|c| sum += c}
|
|
sum = sum & ((1 << bits) - 1) if bits != 0
|
|
assert_equal(sum, str.sum(bits))
|
|
end
|
|
|
|
def test_sum
|
|
assert_equal(0, "".sum)
|
|
assert_equal(294, "abc".sum)
|
|
check_sum("abc")
|
|
check_sum("\x80")
|
|
0.upto(70) {|bits|
|
|
check_sum("xyz", bits)
|
|
}
|
|
end
|
|
|
|
def test_succ
|
|
assert_equal("abd", "abc".succ)
|
|
assert_equal("z", "y".succ)
|
|
assert_equal("aaa", "zz".succ)
|
|
|
|
assert_equal("124", "123".succ)
|
|
assert_equal("1000", "999".succ)
|
|
assert_equal("2.000", "1.999".succ)
|
|
|
|
assert_equal("2000aaa", "1999zzz".succ)
|
|
assert_equal("AAAAA000", "ZZZZ999".succ)
|
|
assert_equal("*+", "**".succ)
|
|
|
|
assert_equal("abce", "abcd".succ)
|
|
assert_equal("THX1139", "THX1138".succ)
|
|
assert_equal("<<koalb>>", "<<koala>>".succ)
|
|
assert_equal("2000aaa", "1999zzz".succ)
|
|
assert_equal("AAAA0000", "ZZZ9999".succ)
|
|
assert_equal("**+", "***".succ)
|
|
end
|
|
|
|
def test_succ!
|
|
a = "abc"
|
|
b = a.dup
|
|
assert_equal("abd", a.succ!)
|
|
assert_equal("abd", a)
|
|
assert_equal("abc", b)
|
|
|
|
a = "y"
|
|
assert_equal("z", a.succ!)
|
|
assert_equal("z", a)
|
|
|
|
a = "zz"
|
|
assert_equal("aaa", a.succ!)
|
|
assert_equal("aaa", a)
|
|
|
|
a = "123"
|
|
assert_equal("124", a.succ!)
|
|
assert_equal("124", a)
|
|
|
|
a = "999"
|
|
assert_equal("1000", a.succ!)
|
|
assert_equal("1000", a)
|
|
|
|
a = "1999zzz"
|
|
assert_equal("2000aaa", a.succ!)
|
|
assert_equal("2000aaa", a)
|
|
|
|
a = "ZZZZ999"
|
|
assert_equal("AAAAA000", a.succ!)
|
|
assert_equal("AAAAA000", a)
|
|
|
|
a = "**"
|
|
assert_equal("*+", a.succ!)
|
|
assert_equal("*+", a)
|
|
|
|
assert_equal("aaaaaaaaaaaa", "zzzzzzzzzzz".succ!)
|
|
assert_equal("aaaaaaaaaaaaaaaaaaaaaaaa", "zzzzzzzzzzzzzzzzzzzzzzz".succ!)
|
|
end
|
|
end
|