# 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)} puts RangeBuilder.build_range(m){|a|a.foo}.inspect 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 end