* hash.c: Support for enumerators created by Hash:

delete_if, reject!, ...
  [Feature #6636]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
marcandre 2012-11-06 17:13:33 +00:00
parent cef054d5b2
commit 19ed71c8d0
2 changed files with 17 additions and 8 deletions

View file

@ -443,6 +443,13 @@ class TestEnumerator < Test::Unit::TestCase
assert_equal 42, @sized.each_with_object(nil).size
end
def test_size_for_enum_created_from_hash
h = {a: 1, b: 2, c: 3}
%i[delete_if reject! select select! keep_if each each_key each_pair].each do |method|
assert_equal 3, h.send(method).size
end
end
def check_consistency_for_combinatorics(method)
[ [], [:a, :b, :c, :d, :e] ].product([-2, 0, 2, 5, 6]) do |array, arg|
assert_equal array.send(method, arg).to_a.size, array.send(method, arg).size,