summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_enumerator.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/ruby/test_enumerator.rb b/test/ruby/test_enumerator.rb
index 7599d43463..cd62cd8acb 100644
--- a/test/ruby/test_enumerator.rb
+++ b/test/ruby/test_enumerator.rb
@@ -1043,4 +1043,19 @@ class TestEnumerator < Test::Unit::TestCase
assert_raise(FrozenError) { e.feed 1 }
assert_raise(FrozenError) { e.rewind }
end
+
+ def test_sum_of_numeric
+ num = Class.new(Numeric) do
+ attr_reader :to_f
+ def initialize(val)
+ @to_f = Float(val)
+ end
+ end
+
+ ary = [5, 10, 20].map {|i| num.new(i)}
+
+ assert_equal(35.0, ary.sum)
+ enum = ary.each
+ assert_equal(35.0, enum.sum)
+ end
end