diff options
author | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-02-25 13:52:07 +0000 |
---|---|---|
committer | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-02-25 13:52:07 +0000 |
commit | b1a8c64483b5ba5e4a391aa68234e7bde6355034 (patch) | |
tree | fc7dc594e220ba737a0138666eed8841b55ab243 /test/test_set.rb | |
parent | d1ea2f9d8f10ca728d178de92a26668c64f4aff8 (diff) | |
download | ruby-b1a8c64483b5ba5e4a391aa68234e7bde6355034.tar.gz |
Add a new #filter alias for #select
* In Enumerable, Enumerator::Lazy, Array, Hash and Set
[Feature #13784] [ruby-core:82285]
* Share specs for the various #select#select! methods and
reuse them for #filter/#filter!.
* Add corresponding filter tests for select tests.
* Update NEWS.
[Fix GH-1824]
From: Alexander Patrick <adp90@case.edu>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/test_set.rb')
-rw-r--r-- | test/test_set.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/test_set.rb b/test/test_set.rb index 4c6730d141..b20920e63e 100644 --- a/test/test_set.rb +++ b/test/test_set.rb @@ -545,6 +545,24 @@ class TC_Set < Test::Unit::TestCase assert_equal(Set.new(1..10), set) end + def test_filter! + set = Set.new(1..10) + ret = set.filter! { |i| i <= 10 } + assert_equal(nil, ret) + assert_equal(Set.new(1..10), set) + + set = Set.new(1..10) + ret = set.filter! { |i| i % 3 != 0 } + assert_same(set, ret) + assert_equal(Set[1,2,4,5,7,8,10], set) + + set = Set.new(1..10) + enum = set.filter! + assert_equal(set.size, enum.size) + assert_equal(nil, enum.each { |i| i <= 10 }) + assert_equal(Set.new(1..10), set) + end + def test_merge set = Set[1,2,3] |