Sha256: 6c7b8c68d33209e9e5f3b451543e9f0c9961b339359af0388aef4f385a44e274

Contents?: true

Size: 996 Bytes

Versions: 2

Compression:

Stored size: 996 Bytes

Contents

# encoding: UTF-8
$:.unshift File.expand_path( '../lib/', File.dirname( __FILE__))
require 'minitest/autorun'
require 'range_builder'

class RangeBuilderTest < MiniTest::Unit::TestCase
  M = Struct.new(:foo)

  def test_build_range
    m = [3, 2, 6, 2].map{|i|M.new(i)}
    first, last = RangeBuilder.build_range(m){|a|a.foo}
    assert_equal 2, first.foo
    assert_equal 6, last.foo
  end

  def test_build_from_sorted
    m = [ 2, 3, 4, 6, 7, 9, 11, 12, 13]
    ranges = RangeBuilder.build_from_sorted(m)
    assert_equal 4, ranges.size
    assert_equal (2..4), ranges[0]
    assert_equal (6..7), ranges[1]
    assert_equal (9..9), ranges[2]
    assert_equal (11..13), ranges[3]
  end

  def test_trivial_build_from_sorted
    m = [ 2 ]
    ranges = RangeBuilder.build_from_sorted(m)
    assert_equal 1, ranges.size
    assert_equal (2..2), ranges[0]
  end

  def test_empty_build_from_sorted
    m = []
    ranges = RangeBuilder.build_from_sorted(m)
    assert_equal 0, ranges.size
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
range_builder-1.0.2 test/range_builder_test.rb
range_builder-1.0.1 test/range_builder_test.rb