summaryrefslogtreecommitdiff
path: root/trunk/test/ruby/test_range.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/test/ruby/test_range.rb')
-rw-r--r--trunk/test/ruby/test_range.rb270
1 files changed, 0 insertions, 270 deletions
diff --git a/trunk/test/ruby/test_range.rb b/trunk/test/ruby/test_range.rb
deleted file mode 100644
index 81be101857..0000000000
--- a/trunk/test/ruby/test_range.rb
+++ /dev/null
@@ -1,270 +0,0 @@
-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,excl=false)
- @begin = b
- @end = e
- @excl = excl
- end
- attr_reader :begin, :end
-
- def exclude_end?
- @excl
- end
- end
-
- def test_duckrange
- assert_equal("bc", "abcd"[DuckRange.new(1,2)])
- end
-
- def test_min
- assert_equal(1, (1..2).min)
- assert_equal(nil, (2..1).min)
- assert_equal(1, (1...2).min)
-
- assert_equal(1.0, (1.0..2.0).min)
- assert_equal(nil, (2.0..1.0).min)
- assert_equal(1, (1.0...2.0).min)
-
- assert_equal(0, (0..0).min)
- assert_equal(nil, (0...0).min)
- end
-
- def test_max
- assert_equal(2, (1..2).max)
- assert_equal(nil, (2..1).max)
- assert_equal(1, (1...2).max)
-
- assert_equal(2.0, (1.0..2.0).max)
- assert_equal(nil, (2.0..1.0).max)
- assert_raise(TypeError) { (1.0...2.0).max }
-
- assert_equal(-0x80000002, ((-0x80000002)...(-0x80000001)).max)
-
- assert_equal(0, (0..0).max)
- assert_equal(nil, (0...0).max)
- end
-
- def test_initialize_twice
- r = eval("1..2")
- assert_raise(NameError) { r.instance_eval { initialize 3, 4 } }
- end
-
- def test_uninitialized_range
- r = Range.allocate
- s = Marshal.dump(r)
- r = Marshal.load(s)
- assert_nothing_raised { r.instance_eval { initialize 5, 6} }
- end
-
- def test_bad_value
- assert_raise(ArgumentError) { (1 .. :a) }
- end
-
- def test_exclude_end
- assert(!((0..1).exclude_end?))
- assert((0...1).exclude_end?)
- end
-
- def test_eq
- r = (0..1)
- assert(r == r)
- assert(r == (0..1))
- assert(r != 0)
- assert(r != (1..2))
- assert(r != (0..2))
- assert(r != (0...1))
- end
-
- def test_eql
- r = (0..1)
- assert(r.eql?(r))
- assert(r.eql?(0..1))
- assert(!r.eql?(0))
- assert(!r.eql?(1..2))
- assert(!r.eql?(0..2))
- assert(!r.eql?(0...1))
- end
-
- def test_hash
- assert((0..1).hash.is_a?(Fixnum))
- end
-
- def test_step
- a = []
- (0..10).step {|x| a << x }
- assert_equal([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], a)
-
- a = []
- (0..10).step(2) {|x| a << x }
- assert_equal([0, 2, 4, 6, 8, 10], a)
-
- assert_raise(ArgumentError) { (0..10).step(-1) { } }
- assert_raise(ArgumentError) { (0..10).step(0) { } }
-
- a = []
- ("a" .. "z").step(2) {|x| a << x }
- assert_equal(%w(a c e g i k m o q s u w y), a)
-
- a = []
- ("a" .. "z").step(2**32) {|x| a << x }
- assert_equal(["a"], a)
-
- a = []
- (2**32-1 .. 2**32+1).step(2) {|x| a << x }
- assert_equal([4294967295, 4294967297], a)
- zero = (2**32).coerce(0).first
- assert_raise(ArgumentError) { (2**32-1 .. 2**32+1).step(zero) { } }
-
- o1 = Object.new
- o2 = Object.new
- def o1.<=>(x); -1; end
- def o2.<=>(x); 0; end
- assert_raise(TypeError) { (o1..o2).step(1) { } }
-
- class << o1; self; end.class_eval do
- define_method(:succ) { o2 }
- end
- a = []
- (o1..o2).step(1) {|x| a << x }
- assert_equal([o1, o2], a)
-
- a = []
- (o1...o2).step(1) {|x| a << x }
- assert_equal([o1], a)
-
- assert_nothing_raised("[ruby-dev:34557]") { (0..2).step(0.5) {|x| } }
-
- a = []
- (0..2).step(0.5) {|x| a << x }
- assert_equal([0, 0.5, 1.0, 1.5, 2.0], a)
-
- a = []
- (0x40000000..0x40000002).step(0.5) {|x| a << x }
- assert_equal([1073741824, 1073741824.5, 1073741825.0, 1073741825.5, 1073741826], a)
-
- o = Object.new
- def o.to_int() 1 end
- assert_nothing_raised("[ruby-dev:34558]") { (0..2).step(o) {|x| } }
- end
-
- def test_each
- a = []
- (0..10).each {|x| a << x }
- assert_equal([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], a)
-
- o1 = Object.new
- o2 = Object.new
- def o1.<=>(x); -1; end
- def o2.<=>(x); 0; end
- class << o1; self; end.class_eval do
- define_method(:succ) { o2 }
- end
-
- r1 = (o1..o2)
- r2 = (o1...o2)
-
- a = []
- r1.each {|x| a << x }
- assert_equal([o1, o2], a)
-
- a = []
- r2.each {|x| a << x }
- assert_equal([o1], a)
-
- def o2.<=>(x); 1; end
-
- a = []
- r1.each {|x| a << x }
- assert_equal([o1], a)
-
- def o2.<=>(x); nil; end
-
- a = []
- r1.each {|x| a << x }
- assert_equal([o1], a)
-
- def o1.<=>(x); nil; end
-
- a = []
- r2.each {|x| a << x }
- assert_equal([], a)
- end
-
- def test_begin_end
- assert_equal(0, (0..1).begin)
- assert_equal(1, (0..1).end)
- end
-
- def test_first_last
- assert_equal([0, 1, 2], (0..10).first(3))
- assert_equal([8, 9, 10], (0..10).last(3))
- end
-
- def test_to_s
- assert_equal("0..1", (0..1).to_s)
- assert_equal("0...1", (0...1).to_s)
- end
-
- def test_inspect
- assert_equal("0..1", (0..1).inspect)
- assert_equal("0...1", (0...1).inspect)
- end
-
- def test_eqq
- assert((0..10) === 5)
- assert(!((0..10) === 11))
- end
-
- def test_include
- assert(("a".."z").include?("c"))
- assert(!(("a".."z").include?("5")))
- assert(("a"..."z").include?("y"))
- assert(!(("a"..."z").include?("z")))
- assert(!(("a".."z").include?("cc")))
- assert((0...10).include?(5))
- end
-
- def test_cover
- assert(("a".."z").cover?("c"))
- assert(!(("a".."z").cover?("5")))
- assert(("a"..."z").cover?("y"))
- assert(!(("a"..."z").cover?("z")))
- assert(("a".."z").cover?("cc"))
- end
-
- def test_beg_len
- o = Object.new
- assert_raise(TypeError) { [][o] }
- def o.begin; -10; end
- assert_raise(TypeError) { [][o] }
- def o.end; 0; end
- assert_raise(NoMethodError) { [][o] }
- def o.exclude_end?; false; end
- assert_nil([0][o])
- assert_raise(RangeError) { [0][o] = 1 }
- def o.begin; 10; end
- def o.end; 10; end
- assert_nil([0][o])
- def o.begin; 0; end
- assert_equal([0], [0][o])
- def o.begin; 2; end
- def o.end; 0; end
- assert_equal([], [0, 1, 2][o])
- end
-end