Sha256: 914cdada83306aac938c4beb2e9966fc31172506a6ea1f696206774c738ff3c6

Contents?: true

Size: 1.08 KB

Versions: 20

Compression:

Stored size: 1.08 KB

Contents

#!/usr/bin/env ruby
gem 'minitest', '>= 5.0.0'
require 'minitest/autorun'
require_relative 'accumulate'

class ArrayTest < Minitest::Test
  def test_empty_accumulation
    assert_equal [], [].accumulate { |e| e * e }
  end

  def test_accumulate_squares
    skip
    result = [1, 2, 3].accumulate do |number|
      number * number
    end
    assert_equal [1, 4, 9], result
  end

  def test_accumulate_upcases
    skip
    result = %w(hello world).accumulate(&:upcase)
    assert_equal %w(HELLO WORLD), result
  end

  def test_accumulate_reversed_strings
    skip
    result = %w(the quick brown fox etc).accumulate(&:reverse)
    assert_equal %w(eht kciuq nworb xof cte), result
  end

  def test_accumulate_recursively
    skip
    result = %w(a b c).accumulate do |char|
      %w(1 2 3).accumulate do |digit|
        "#{char}#{digit}"
      end
    end
    assert_equal [%w(a1 a2 a3), %w(b1 b2 b3), %w(c1 c2 c3)], result
  end

  def test_do_not_change_in_place
    skip
    original = [1, 2, 3]
    copy = original.dup
    original.accumulate { |n| n * n }
    assert_equal copy, original
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
trackler-2.0.0.9 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-2.0.0.8 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-2.0.0.7 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-2.0.0.6 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-2.0.0.5 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-2.0.0.4 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-2.0.0.3 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-2.0.0.2 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-2.0.0.1 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-2.0.0.0 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.4.1 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.4.0 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.3.0 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.2.1 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.2.0 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.1.2 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.1.1 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.1.0 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.0.1 tracks/ruby/exercises/accumulate/accumulate_test.rb
trackler-1.0.0 tracks/ruby/exercises/accumulate/accumulate_test.rb