ruby--ruby/test/ruby/test_range.rb

30 lines
642 B
Ruby
Raw Normal View History

require 'test/unit'
class TestRange < Test::Unit::TestCase
def test_range_string
# XXX: Is this really the test of Range?
assert_equal([], ("a" ... "a").to_a)
assert_equal(["a"], ("a" .. "a").to_a)
assert_equal(["a"], ("a" ... "b").to_a)
assert_equal(["a", "b"], ("a" .. "b").to_a)
end
def test_evaluation_order
arr = [1,2]
r = (arr.shift)..(arr.shift)
assert_equal(1..2, r, "[ruby-dev:26383]")
end
class DuckRange
def initialize(b,e)
@begin = b
@end = e
end
attr_reader :begin, :end
end
def test_duckrange
assert_equal("bc", "abcd"[DuckRange.new(1,2)])
end
end