diff options
author | Alfonso Jiménez <me@alfie.cat> | 2018-11-20 11:51:08 +0100 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-05-23 14:39:16 +0900 |
commit | 0acbdd1ed0d2302743525a5188cc5a0d6251680c (patch) | |
tree | c6e6787a1f706b36ea7b66094c0868a57864a09e /test | |
parent | 1ccc2eeba08c370d84474357771f0bd7c5fe7f16 (diff) | |
download | ruby-0acbdd1ed0d2302743525a5188cc5a0d6251680c.tar.gz |
Adding Enumerable#filter_map
[Feature #15323]
Closes: https://github.com/ruby/ruby/pull/2017
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_enum.rb | 10 | ||||
-rw-r--r-- | test/ruby/test_enumerator.rb | 2 |
2 files changed, 11 insertions, 1 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 diff --git a/test/ruby/test_enumerator.rb b/test/ruby/test_enumerator.rb index 5d1e8f05b1..6bc776dee5 100644 --- a/test/ruby/test_enumerator.rb +++ b/test/ruby/test_enumerator.rb @@ -542,7 +542,7 @@ class TestEnumerator < Test::Unit::TestCase def test_size_for_enum_created_from_enumerable %i[find_all reject map flat_map partition group_by sort_by min_by max_by - minmax_by each_with_index reverse_each each_entry].each do |method| + minmax_by each_with_index reverse_each each_entry filter_map].each do |method| assert_equal nil, @obj.send(method).size assert_equal 42, @sized.send(method).size end |