HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/src/ruby-2.6.8/spec/ruby/core/enumerable/sum_spec.rb
require_relative '../../spec_helper'
require_relative 'fixtures/classes'

ruby_version_is '2.4' do
  describe 'Enumerable#sum' do
    before :each do
      @enum = Object.new.to_enum
      class << @enum
        def each
          yield 0
          yield(-1)
          yield 2
          yield 2/3r
        end
      end
    end

    it 'returns amount of the elements with taking an argument as the initial value' do
      @enum.sum(10).should == 35/3r
    end

    it 'gives 0 as a default argument' do
      @enum.sum.should == 5/3r
    end

    it 'takes a block to transform the elements' do
      @enum.sum { |element| element * 2 }.should == 10/3r
    end
  end
end