summaryrefslogtreecommitdiff
path: root/test/ruby/test_enum.rb
diff options
context:
space:
mode:
authorAlfonso Jiménez <me@alfie.cat>2018-11-20 11:51:08 +0100
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-05-23 14:39:16 +0900
commit0acbdd1ed0d2302743525a5188cc5a0d6251680c (patch)
treec6e6787a1f706b36ea7b66094c0868a57864a09e /test/ruby/test_enum.rb
parent1ccc2eeba08c370d84474357771f0bd7c5fe7f16 (diff)
Adding Enumerable#filter_map
[Feature #15323] Closes: https://github.com/ruby/ruby/pull/2017
Diffstat (limited to 'test/ruby/test_enum.rb')
-rw-r--r--test/ruby/test_enum.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/ruby/test_enum.rb b/test/ruby/test_enum.rb
index 1029143db6..5fbb2d3663 100644
--- a/test/ruby/test_enum.rb
+++ b/test/ruby/test_enum.rb
@@ -1135,4 +1135,14 @@ class TestEnumerable < Test::Unit::TestCase
end
assert_equal [1, 2, 3, 4, 5], (1..5).sort_by{|e| klass.new e}
end
+
+ def test_filter_map
+ @obj = (1..8).to_a
+ assert_equal([4, 8, 12, 16], @obj.filter_map { |i| i * 2 if i.even? })
+ assert_equal([2, 4, 6, 8, 10, 12, 14, 16], @obj.filter_map { |i| i * 2 })
+ assert_equal([0, 0, 0, 0, 0, 0, 0, 0], @obj.filter_map { 0 })
+ assert_equal([], @obj.filter_map { false })
+ assert_equal([], @obj.filter_map { nil })
+ assert_instance_of(Enumerator, @obj.filter_map)
+ end
end