summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorksss <[email protected]>2014-03-15 00:15:33 +0900
committerksss <[email protected]>2014-03-15 08:21:34 +0900
commit9447c637a558e30d6315fd712f91b349587a8a34 (patch)
tree7bc959232d748f3942045950c41705622f833483
parent6b3cc0052d93983cd7cb9ee48a3c4c140046fc2a (diff)
downloadmruby-9447c637a558e30d6315fd712f91b349587a8a34.tar.gz
mruby-9447c637a558e30d6315fd712f91b349587a8a34.zip
test split and to detail
-rw-r--r--mrbgems/mruby-enumerator/test/enumerator.rb49
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