From f7d59dfe23b6fed5a6dc0720144eeaebb407efbb Mon Sep 17 00:00:00 2001 From: Ryan Lopopolo Date: Mon, 8 Jul 2019 20:10:24 -0700 Subject: Add tests for Range#max and Range#min --- test/t/range.rb | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/test/t/range.rb b/test/t/range.rb index d71fe8946..7ce4a7a94 100644 --- a/test/t/range.rb +++ b/test/t/range.rb @@ -110,3 +110,45 @@ 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 -- cgit v1.2.3