Commit 87a614ad authored by Daniel Bovensiepen's avatar Daniel Bovensiepen

Improve Enumerable tests

parent 5915874e
...@@ -2,23 +2,26 @@ ...@@ -2,23 +2,26 @@
# Enumerable ISO Test # Enumerable ISO Test
assert('Enumerable', '15.3.2') do assert('Enumerable', '15.3.2') do
Enumerable.class == Module assert_equal(Enumerable.class, Module)
end end
assert('Enumerable#all?', '15.3.2.2.1') do assert('Enumerable#all?', '15.3.2.2.1') do
[1,2,3].all? and not [1,false,3].all? assert_true([1,2,3].all?)
assert_false([1,false,3].all?)
end end
assert('Enumerable#any?', '15.3.2.2.2') do assert('Enumerable#any?', '15.3.2.2.2') do
[false,true,false].any? and not [false,false,false].any? assert_true([false,true,false].any?)
assert_false([false,false,false].any?)
end end
assert('Enumerable#collect', '15.3.2.2.3') do assert('Enumerable#collect', '15.3.2.2.3') do
[1,2,3].collect { |i| i + i } == [2,4,6] assert_true [1,2,3].collect { |i| i + i } == [2,4,6]
end end
assert('Enumerable#detect', '15.3.2.2.4') do assert('Enumerable#detect', '15.3.2.2.4') do
[1,2,3].detect() { true } and [1,2,3].detect("a") { false } == 'a' assert_true [1,2,3].detect() { true }
assert_equal [1,2,3].detect("a") { false }, 'a'
end end
assert('Array#each_with_index', '15.3.2.2.5') do assert('Array#each_with_index', '15.3.2.2.5') do
...@@ -27,54 +30,56 @@ assert('Array#each_with_index', '15.3.2.2.5') do ...@@ -27,54 +30,56 @@ assert('Array#each_with_index', '15.3.2.2.5') do
[1].each_with_index {|e,i| a = e; b = i} [1].each_with_index {|e,i| a = e; b = i}
a == 1 and b == 0 assert_equal(a, 1)
assert_equal(b, 0)
end end
assert('Enumerable#entries', '15.3.2.2.6') do assert('Enumerable#entries', '15.3.2.2.6') do
[1].entries == [1] assert_equal([1].entries, [1])
end end
assert('Enumerable#find', '15.3.2.2.7') do assert('Enumerable#find', '15.3.2.2.7') do
[1,2,3].find() { true } and [1,2,3].find("a") { false } == 'a' assert_true [1,2,3].find() { true }
assert_equal [1,2,3].find("a") { false }, 'a'
end end
assert('Enumerable#find_all', '15.3.2.2.8') do assert('Enumerable#find_all', '15.3.2.2.8') do
[1,2,3,4,5,6,7,8,9].find_all() {|i| i%2 == 0} == [2,4,6,8] assert_true [1,2,3,4,5,6,7,8,9].find_all() {|i| i%2 == 0}, [2,4,6,8]
end end
assert('Enumerable#grep', '15.3.2.2.9') do assert('Enumerable#grep', '15.3.2.2.9') do
[1,2,3,4,5,6,7,8,9].grep(4..6) == [4,5,6] assert_equal [1,2,3,4,5,6,7,8,9].grep(4..6), [4,5,6]
end end
assert('Enumerable#include?', '15.3.2.2.10') do assert('Enumerable#include?', '15.3.2.2.10') do
[1,2,3,4,5,6,7,8,9].include?(5) and assert_true [1,2,3,4,5,6,7,8,9].include?(5)
not [1,2,3,4,5,6,7,8,9].include?(0) assert_false [1,2,3,4,5,6,7,8,9].include?(0)
end end
assert('Enumerable#inject', '15.3.2.2.11') do assert('Enumerable#inject', '15.3.2.2.11') do
[1,2,3,4,5,6].inject() {|s, n| s + n} == 21 and assert_equal [1,2,3,4,5,6].inject() {|s, n| s + n}, 21
[1,2,3,4,5,6].inject(1) {|s, n| s + n} == 22 assert_equal [1,2,3,4,5,6].inject(1) {|s, n| s + n}, 22
end end
assert('Enumerable#map', '15.3.2.2.12') do assert('Enumerable#map', '15.3.2.2.12') do
[1,2,3].map { |i| i + i } == [2,4,6] assert_equal [1,2,3].map { |i| i + i }, [2,4,6]
end end
assert('Enumerable#max', '15.3.2.2.13') do assert('Enumerable#max', '15.3.2.2.13') do
a = ['aaa', 'bb', 'c'] a = ['aaa', 'bb', 'c']
a.max == 'c' and assert_equal a.max, 'c'
a.max {|i1,i2| i1.length <=> i2.length} == 'aaa' assert_equal a.max {|i1,i2| i1.length <=> i2.length}, 'aaa'
end end
assert('Enumerable#min', '15.3.2.2.14') do assert('Enumerable#min', '15.3.2.2.14') do
a = ['aaa', 'bb', 'c'] a = ['aaa', 'bb', 'c']
a.min == 'aaa' and assert_equal a.min, 'aaa'
a.min {|i1,i2| i1.length <=> i2.length} == 'c' assert_equal a.min {|i1,i2| i1.length <=> i2.length}, 'c'
end end
assert('Enumerable#member?', '15.3.2.2.15') do assert('Enumerable#member?', '15.3.2.2.15') do
[1,2,3,4,5,6,7,8,9].member?(5) and assert_true [1,2,3,4,5,6,7,8,9].member?(5)
not [1,2,3,4,5,6,7,8,9].member?(0) assert_false [1,2,3,4,5,6,7,8,9].member?(0)
end end
assert('Enumerable#partion', '15.3.2.2.16') do assert('Enumerable#partion', '15.3.2.2.16') do
...@@ -90,14 +95,14 @@ assert('Enumerable#reject', '15.3.2.2.17') do ...@@ -90,14 +95,14 @@ assert('Enumerable#reject', '15.3.2.2.17') do
end end
assert('Enumerable#select', '15.3.2.2.18') do assert('Enumerable#select', '15.3.2.2.18') do
[1,2,3,4,5,6,7,8,9].select() {|i| i%2 == 0} == [2,4,6,8] assert_equal [1,2,3,4,5,6,7,8,9].select() {|i| i%2 == 0}, [2,4,6,8]
end end
assert('Enumerable#sort', '15.3.2.2.19') do assert('Enumerable#sort', '15.3.2.2.19') do
[7,3,1,2,6,4].sort == [1,2,3,4,6,7] and assert_equal [7,3,1,2,6,4].sort, [1,2,3,4,6,7]
[7,3,1,2,6,4].sort {|e1,e2| e2<=>e1} == [7,6,4,3,2,1] assert_equal [7,3,1,2,6,4].sort {|e1,e2|e2<=>e1}, [7,6,4,3,2,1]
end end
assert('Enumerable#to_a', '15.3.2.2.20') do assert('Enumerable#to_a', '15.3.2.2.20') do
[1].to_a == [1] assert_equal [1].to_a, [1]
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment