mruby-range-ext: add tests for Range#overlap?

This commit is contained in:
Yukihiro "Matz" Matsumoto
2023-09-21 15:28:56 +09:00
parent 384d0e2d21
commit 0730bda60e
+34
View File
@@ -178,3 +178,37 @@ assert('Range#min given a block') do
assert_equal nil, ((100..10).min { |x, y| x <=> y })
assert_equal nil, ((5...5).min { |x, y| x <=> y })
end
assert('Range#overlap?') do
assert_false((0..2).overlap?(-2..-1))
assert_false((0..2).overlap?(-2...0))
assert_true((0..2).overlap?(-1..0))
assert_true((0..2).overlap?(1..2))
assert_true((0..2).overlap?(2..3))
assert_false((0..2).overlap?(3...4))
assert_false((0...2).overlap?(2..3))
assert_true((..0).overlap?(-1..0))
assert_true((...0).overlap?(-1..0))
assert_true((..0).overlap?(0..1))
assert_true((..0).overlap?(..1))
assert_false((..0).overlap?(1..2))
assert_false((...0).overlap?(0..1))
assert_false((0..).overlap?(-2..-1))
assert_false((0..).overlap?(...0))
assert_true((0..).overlap?(..0))
assert_true((0..).overlap?(0..1))
assert_true((0..).overlap?(1..2))
assert_true((0..).overlap?(-1..0))
assert_true((0..).overlap?(1..))
assert_true((0..).overlap?(-1..0))
assert_true((0..).overlap?(..0))
assert_true((0..).overlap?(0..1))
assert_true((0..).overlap?(1..2))
assert_true((0..).overlap?(1..))
assert_raise(TypeError) { (0..).overlap?(1) }
assert_raise(TypeError) { (0..).overlap?(nil) }
end