Sha256: 87412be9073c93532b24697a52e4ab67340550ac5bb9b63b31c56cafc3276ce4

Contents?: true

Size: 812 Bytes

Versions: 6

Compression:

Stored size: 812 Bytes

Contents

$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'test/unit'

require 'metal_archives/utils/collection'

class CollectionTest < Test::Unit::TestCase
  def test_each
    l = lambda do
      @i ||= 0

      return [] if @i >= 100
      items = (@i .. (@i + 9)).to_a
      @i += 10

      items
    end

    c = MetalArchives::Collection.new l

    i = 0
    c.each do |item|
      assert_equal i, item
      i += 1
    end

    assert_equal 100, i
  end

  def test_return
    l = lambda do
      @i ||= 0

      raise StandardError if @i >= 100
      items = (@i .. (@i + 9)).to_a
      @i += 10

      items
    end

    c = MetalArchives::Collection.new l

    i = 0
    c.each do |item|
      break if i == 99
      assert_equal i, item
      i += 1
    end

    assert_equal 99, i
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
metal_archives-0.8.0 test/utils/collection_test.rb
metal_archives-0.7.1 test/utils/collection_test.rb
metal_archives-0.6.0 test/utils/collection_test.rb
metal_archives-0.5.0 test/utils/collection_test.rb
metal_archives-0.4.0 test/utils/collection_test.rb
metal_archives-0.3.0 test/utils/collection_test.rb