summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRyan Lopopolo <[email protected]>2019-07-09 01:40:44 -0700
committerRyan Lopopolo <[email protected]>2019-07-09 01:40:44 -0700
commitd9c530379343ef0dd0f314c982ddeedea8eb1a60 (patch)
tree562d843ee7350e73464e2dd941d9a19836f1d6d4
parent4085709ae1736fb755955d3d52b6b73c15853506 (diff)
downloadmruby-d9c530379343ef0dd0f314c982ddeedea8eb1a60.tar.gz
mruby-d9c530379343ef0dd0f314c982ddeedea8eb1a60.zip
Remove attempt at spec-compliant Range#max and Range#min from core
-rw-r--r--mrblib/range.rb63
-rw-r--r--test/t/range.rb42
2 files changed, 0 insertions, 105 deletions
diff --git a/mrblib/range.rb b/mrblib/range.rb
index 746cb322c..3e6dbfb24 100644
--- a/mrblib/range.rb
+++ b/mrblib/range.rb
@@ -65,67 +65,4 @@ end
# ISO 15.2.14.3
class Range
include Enumerable
-
- def max(&block)
- val = self.first
- last = self.last
- # numerics are special
- if (val.kind_of?(Fixnum) || val.kind_of?(Float)) && (last.kind_of?(Fixnum) || last.kind_of?(Float))
- return nil if val > last
- return nil if val == last && exclude_end?
-
- max = last
- max -= 1 if exclude_end?
- max = val if block && block.call(val, last) > 0
- return max
- end
-
- max = nil
- each do |item|
- max =
- if max.nil?
- item
- elsif block && block.call(max, item) > 0
- item
- elsif item > max
- item
- else
- max
- end
- end
- max
- end
-
- def min(&block)
- val = self.first
- last = self.last
-
- # numerics are special
- if (val.kind_of?(Fixnum) || val.kind_of?(Float)) && (last.kind_of?(Fixnum) || last.kind_of?(Float))
- return nil if val > last
- return nil if val == last && exclude_end?
-
- min = val
- if block && block.call(val, last) > 0
- min = last
- min -= 1 if exclude_end?
- end
- return min
- end
-
- min = nil
- each do |item|
- min =
- if min.nil?
- item
- elsif block && block.call(min, item) < 0
- item
- elsif item < min
- item
- else
- min
- end
- end
- min
- end
end
diff --git a/test/t/range.rb b/test/t/range.rb
index 7ce4a7a94..d71fe8946 100644
--- a/test/t/range.rb
+++ b/test/t/range.rb
@@ -110,45 +110,3 @@ assert('Range#dup') do
assert_equal r.end, "z"
assert_true r.exclude_end?
end
-
-assert('Range#max') do
- assert_equal 10, (1..10).max
- assert_equal 9, (1...10).max
- assert_equal nil, (10..1).max
- assert_equal nil, (10...1).max
-
- # equal endpoints
- assert_equal 5, (5..5).max
- assert_equal nil, (5...5).max
-
- # block overrides comparison
- assert_equal(10, (1..10).max { |a, b| a <=> b })
- assert_equal(9, (1...10).max { |a, b| a <=> b })
- assert_equal(nil, (10..1).max { |a, b| a <=> b })
- assert_equal(nil, (10...1).max { |a, b| a <=> b })
- assert_equal(1, (1..10).max { |a, b| b <=> a })
- assert_equal(1, (1...10).max { |a, b| b <=> a })
- assert_equal(nil, (10..1).max { |a, b| b <=> a })
- assert_equal(nil, (10...1).max { |a, b| b <=> a })
-end
-
-assert('Range#min') do
- assert_equal 1, (1..10).min
- assert_equal 1, (1...10).min
- assert_equal nil, (10..1).min
- assert_equal nil, (10...1).min
-
- # equal endpoints
- assert_equal 7, (7..7).min
- assert_equal nil, (7...7).min
-
- # block overrides comparison
- assert_equal(1, (1..10).min { |a, b| a <=> b })
- assert_equal(1, (1...10).min { |a, b| a <=> b })
- assert_equal(nil, (10..1).min { |a, b| a <=> b })
- assert_equal(nil, (10...1).min { |a, b| a <=> b })
- assert_equal(10, (1..10).min { |a, b| b <=> a })
- assert_equal(9, (1...10).min { |a, b| b <=> a })
- assert_equal(nil, (10..1).min { |a, b| b <=> a })
- assert_equal(nil, (10...1).min { |a, b| b <=> a })
-end