From 5df979dd351b432b151101eb221a3b4dd549625c Mon Sep 17 00:00:00 2001 From: Jonathan Hefner Date: Fri, 12 Feb 2021 15:58:20 -0600 Subject: [PATCH] Test #maximum and #minimum with empty enumerable Follow-up to #41404. These tests will prevent regressions if we decide to change the implementations of `maximum` or `minimum` in the future (for example, calling `max_by` or `min_by` followed by `send`). --- activesupport/test/core_ext/enumerable_test.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/activesupport/test/core_ext/enumerable_test.rb b/activesupport/test/core_ext/enumerable_test.rb index 9caac2d1ff1bd..7509534826bca 100644 --- a/activesupport/test/core_ext/enumerable_test.rb +++ b/activesupport/test/core_ext/enumerable_test.rb @@ -34,11 +34,21 @@ def test_minimum assert_equal 5, payments.minimum(:price) end + def test_minimum_with_empty_enumerable + payments = GenericEnumerable.new([]) + assert_nil payments.minimum(:price) + end + def test_maximum payments = GenericEnumerable.new([ Payment.new(5), Payment.new(15), Payment.new(10) ]) assert_equal 15, payments.maximum(:price) end + def test_maximum_with_empty_enumerable + payments = GenericEnumerable.new([]) + assert_nil payments.maximum(:price) + end + def test_sums enum = GenericEnumerable.new([5, 15, 10]) assert_equal 30, enum.sum