summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-03 06:02:55 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-03 06:02:55 +0000
commit129c02057e50ab1c4b016ac352af65f853668986 (patch)
tree3404739b68d5c668cd16a5f883f74381dd6cb22d /test
parent3e7c55fb005f1860ffdd31fdaed719f9818f00ba (diff)
add test for String#sum.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_string.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb
new file mode 100644
index 0000000000..0ce33fdf19
--- /dev/null
+++ b/test/ruby/test_string.rb
@@ -0,0 +1,19 @@
+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")
+ 8.upto(70) {|bits|
+ check_sum("xyz", bits)
+ }
+ end
+end