diff options
| author | ksss <[email protected]> | 2014-03-15 00:15:33 +0900 |
|---|---|---|
| committer | ksss <[email protected]> | 2014-03-15 08:21:34 +0900 |
| commit | 9447c637a558e30d6315fd712f91b349587a8a34 (patch) | |
| tree | 7bc959232d748f3942045950c41705622f833483 | |
| parent | 6b3cc0052d93983cd7cb9ee48a3c4c140046fc2a (diff) | |
| download | mruby-9447c637a558e30d6315fd712f91b349587a8a34.tar.gz mruby-9447c637a558e30d6315fd712f91b349587a8a34.zip | |
test split and to detail
| -rw-r--r-- | mrbgems/mruby-enumerator/test/enumerator.rb | 49 |
1 files changed, 42 insertions, 7 deletions
diff --git a/mrbgems/mruby-enumerator/test/enumerator.rb b/mrbgems/mruby-enumerator/test/enumerator.rb index 2c85feef3..71e70733c 100644 --- a/mrbgems/mruby-enumerator/test/enumerator.rb +++ b/mrbgems/mruby-enumerator/test/enumerator.rb @@ -400,8 +400,8 @@ assert 'Kernel#to_enum' do assert_raise(ArgumentError){ nil.to_enum } end - assert 'modifying existing methods' do + assert_equal Enumerator, loop.class e = 3.times i = 0 loop_ret = loop { @@ -409,13 +409,28 @@ assert 'modifying existing methods' do i += 1 } assert_nil loop_ret +end - assert_equal Enumerator, loop.class - assert_equal Enumerator, 3.times.class - assert_equal Enumerator, [].each.class - assert_equal Enumerator, [].map.class - assert_equal Enumerator, {a:1}.each.class - assert_equal Enumerator, (1..5).each.class +assert 'Integral#times' do + a = 3 + b = a.times + c = [] + b.with_object(c) do |i, obj| + obj << i + end + assert_equal 3, a + assert_equal Enumerator, b.class + assert_equal [0,1,2], c +end + +assert 'Enumerable#map' do + a = [1,2,3] + b = a.map + c = b.with_index do |i, index| + [i*i, index*index] + end + assert_equal [1,2,3], a + assert_equal [[1,0],[4,1],[9,4]], c end assert 'Array#map!' do @@ -426,3 +441,23 @@ assert 'Array#map!' do end assert_equal [[1,0],[4,1],[9,4]], a end + +assert 'Hash#each' do + a = {a:1,b:2} + b = a.each + c = [] + b.each do |k,v| + c << [k,v] + end + assert_equal [[:a,1], [:b,2]], c.sort +end + +assert 'Range#each' do + a = (1..5) + b = a.each + c = [] + b.each do |i| + c << i + end + assert_equal [1,2,3,4,5], c +end |
