Commit f8e13b86 authored by Daniel Bovensiepen's avatar Daniel Bovensiepen

Improve Bootstrap Block Tests

parent 821f6d42
...@@ -2,17 +2,19 @@ ...@@ -2,17 +2,19 @@
# Bootstrap tests for blocks # Bootstrap tests for blocks
assert('BS Block 1') do assert('BS Block 1') do
1.times{ assert_equal(1) do
begin 1.times{
a = 1 begin
ensure a = 1
foo = nil ensure
end foo = nil
} == 1 end
}
end
end end
assert('BS Block 2') do assert('BS Block 2') do
[1,2,3].find{|x| x == 2} == 2 assert_equal [1,2,3].find{|x| x == 2}, 2
end end
assert('BS Block 3') do assert('BS Block 3') do
...@@ -22,7 +24,7 @@ assert('BS Block 3') do ...@@ -22,7 +24,7 @@ assert('BS Block 3') do
[1, 2, 3].each(&block) [1, 2, 3].each(&block)
end end
end end
E.new.find {|x| x == 2 } == 2 assert_equal E.new.find {|x| x == 2 }, 2
end end
assert('BS Block 3') do assert('BS Block 3') do
...@@ -30,7 +32,7 @@ assert('BS Block 3') do ...@@ -30,7 +32,7 @@ assert('BS Block 3') do
for x in [1, 2, 3] for x in [1, 2, 3]
sum += x sum += x
end end
sum == 6 assert_equal sum, 6
end end
assert('BS Block 4') do assert('BS Block 4') do
...@@ -38,7 +40,7 @@ assert('BS Block 4') do ...@@ -38,7 +40,7 @@ assert('BS Block 4') do
for x in (1..5) for x in (1..5)
sum += x sum += x
end end
sum == 15 assert_equal sum, 15
end end
assert('BS Block 5') do assert('BS Block 5') do
...@@ -46,37 +48,43 @@ assert('BS Block 5') do ...@@ -46,37 +48,43 @@ assert('BS Block 5') do
for x in [] for x in []
sum += x sum += x
end end
sum == 0 assert_equal sum, 0
end end
assert('BS Block 6') do assert('BS Block 6') do
ans = [] ans = []
1.times{ assert_equal(1) do
for n in 1..3 1.times{
a = n for n in 1..3
ans << a a = n
end ans << a
} == 1 end
}
end
end end
assert('BS Block 7') do assert('BS Block 7') do
ans = [] ans = []
for m in 1..3 assert_equal((1..3)) do
for n in 2..4 for m in 1..3
a = [m, n] for n in 2..4
ans << a a = [m, n]
ans << a
end
end end
end == (1..3) end
end end
assert('BS Block 8') do assert('BS Block 8') do
(1..3).to_a == [1, 2, 3] assert_equal (1..3).to_a, [1, 2, 3]
end end
assert('BS Block 9') do assert('BS Block 9') do
(1..3).map{|e| assert_equal([4, 8, 12]) do
e * 4 (1..3).map{|e|
} == [4, 8, 12] e * 4
}
end
end end
assert('BS Block 10') do assert('BS Block 10') do
...@@ -87,11 +95,13 @@ assert('BS Block 10') do ...@@ -87,11 +95,13 @@ assert('BS Block 10') do
yield yield
end end
m{ assert_equal(100) do
n{ m{
100 n{
100
}
} }
} == 100 end
end end
assert('BS Block 11') do assert('BS Block 11') do
...@@ -99,11 +109,13 @@ assert('BS Block 11') do ...@@ -99,11 +109,13 @@ assert('BS Block 11') do
yield 1 yield 1
end end
m{|ib| assert_equal(20) do
m{|jb| m{|ib|
i = 20 m{|jb|
i = 20
}
} }
} == 20 end
end end
assert('BS Block 12') do assert('BS Block 12') do
...@@ -111,12 +123,14 @@ assert('BS Block 12') do ...@@ -111,12 +123,14 @@ assert('BS Block 12') do
yield 1 yield 1
end end
m{|ib| assert_equal(2) do
m{|jb| m{|ib|
ib = 20 m{|jb|
kb = 2 ib = 20
kb = 2
}
} }
} == 2 end
end end
assert('BS Block 13') do assert('BS Block 13') do
...@@ -130,13 +144,15 @@ assert('BS Block 13') do ...@@ -130,13 +144,15 @@ assert('BS Block 13') do
yield yield
end end
iter1{ assert_equal(3) do
jb = 2
iter1{ iter1{
jb = 3 jb = 2
iter1{
jb = 3
}
jb
} }
jb end
} == 3
end end
assert('BS Block 14') do assert('BS Block 14') do
...@@ -150,31 +166,37 @@ assert('BS Block 14') do ...@@ -150,31 +166,37 @@ assert('BS Block 14') do
yield yield
end end
iter1{ assert_equal(2) do
jb = 2
iter1{ iter1{
jb = 2
iter1{
jb
}
jb jb
} }
jb end
} == 2
end end
assert('BS Block 15') do assert('BS Block 15') do
def m def m
yield 1 yield 1
end end
m{|ib| assert_equal(2) do
ib*2 m{|ib|
} == 2 ib*2
}
end
end end
assert('BS Block 16') do assert('BS Block 16') do
def m def m
yield 12345, 67890 yield 12345, 67890
end end
m{|ib,jb| assert_equal(92580) do
ib*2+jb m{|ib,jb|
} == 92580 ib*2+jb
}
end
end end
assert('BS Block 17') do assert('BS Block 17') do
...@@ -183,9 +205,11 @@ assert('BS Block 17') do ...@@ -183,9 +205,11 @@ assert('BS Block 17') do
end end
a = nil a = nil
[iter{|a| assert_equal [10, nil] do
a [iter{|a|
}, a] == [10, nil] a
}, a]
end
end end
assert('BS Block 18') do assert('BS Block 18') do
...@@ -193,11 +217,13 @@ assert('BS Block 18') do ...@@ -193,11 +217,13 @@ assert('BS Block 18') do
yield 10 yield 10
end end
iter{|a| assert_equal(21) do
iter{|a| iter{|a|
a + 1 iter{|a|
} + a a + 1
} == 21 } + a
}
end
end end
assert('BS Block 19') do assert('BS Block 19') do
...@@ -206,9 +232,11 @@ assert('BS Block 19') do ...@@ -206,9 +232,11 @@ assert('BS Block 19') do
end end
a = b = c = d = nil a = b = c = d = nil
iter{|a, b, c, d| assert_equal([10, 20, 30, 40, nil, nil, nil, nil]) do
[a, b, c, d] iter{|a, b, c, d|
} + [a, b, c, d] == [10, 20, 30, 40, nil, nil, nil, nil] [a, b, c, d]
} + [a, b, c, d]
end
end end
assert('BS Block 20') do assert('BS Block 20') do
...@@ -217,9 +245,11 @@ assert('BS Block 20') do ...@@ -217,9 +245,11 @@ assert('BS Block 20') do
end end
a = b = nil a = b = nil
iter{|a, b, c, d| assert_equal([10, 20, 30, 40, nil, nil]) do
[a, b, c, d] iter{|a, b, c, d|
} + [a, b] == [10, 20, 30, 40, nil, nil] [a, b, c, d]
} + [a, b]
end
end end
assert('BS Block 21') do assert('BS Block 21') do
...@@ -227,9 +257,11 @@ assert('BS Block 21') do ...@@ -227,9 +257,11 @@ assert('BS Block 21') do
yield 1, 2 yield 1, 2
end end
iter{|a, *b| assert_equal([1, [2]]) do
[a, b] iter{|a, *b|
} == [1, [2]] [a, b]
}
end
end end
assert('BS Block 22') do assert('BS Block 22') do
...@@ -237,9 +269,11 @@ assert('BS Block 22') do ...@@ -237,9 +269,11 @@ assert('BS Block 22') do
yield 1, 2 yield 1, 2
end end
iter{|*a| assert_equal([[1, 2]]) do
[a] iter{|*a|
} == [[1, 2]] [a]
}
end
end end
assert('BS Block 23') do assert('BS Block 23') do
...@@ -247,40 +281,48 @@ assert('BS Block 23') do ...@@ -247,40 +281,48 @@ assert('BS Block 23') do
yield 1, 2 yield 1, 2
end end
iter{|a, b, *c| assert_equal([1, 2, []]) do
[a, b, c] iter{|a, b, *c|
} == [1, 2, []] [a, b, c]
}
end
end end
assert('BS Block 24') do assert('BS Block 24') do
def m def m
yield yield
end end
m{ assert_equal(1) do
1 m{
} == 1 1
}
end
end end
assert('BS Block 25') do assert('BS Block 25') do
def m def m
yield 123 yield 123
end end
m{|ib| assert_equal(15129) do
m{|jb| m{|ib|
ib*jb m{|jb|
ib*jb
}
} }
} == 15129 end
end end
assert('BS Block 26') do assert('BS Block 26') do
def m a def m a
yield a yield a
end end
m(1){|ib| assert_equal(2) do
m(2){|jb| m(1){|ib|
ib*jb m(2){|jb|
ib*jb
}
} }
} == 2 end
end end
assert('BS Block 27') do assert('BS Block 27') do
...@@ -289,13 +331,15 @@ assert('BS Block 27') do ...@@ -289,13 +331,15 @@ assert('BS Block 27') do
2.times{|jb| 2.times{|jb|
sum += ib + jb sum += ib + jb
}} }}
sum == 9 assert_equal sum, 9
end end
assert('BS Block 28') do assert('BS Block 28') do
3.times{|bl| assert_equal(10) do
break 10 3.times{|bl|
} == 10 break 10
}
end
end end
assert('BS Block 29') do assert('BS Block 29') do
...@@ -303,9 +347,11 @@ assert('BS Block 29') do ...@@ -303,9 +347,11 @@ assert('BS Block 29') do
yield 1,2,3 yield 1,2,3
end end
iter{|i, j| assert_equal([1, 2]) do
[i, j] iter{|i, j|
} == [1, 2] [i, j]
}
end
end end
assert('BS Block 30') do assert('BS Block 30') do
...@@ -313,23 +359,25 @@ assert('BS Block 30') do ...@@ -313,23 +359,25 @@ assert('BS Block 30') do
yield 1 yield 1
end end
iter{|i, j| assert_equal([1, nil]) do
[i, j] iter{|i, j|
} == [1, nil] [i, j]
}
end
end end
assert('BS Block [ruby-dev:31147]') do assert('BS Block [ruby-dev:31147]') do
def m def m
yield yield
end end
m{|&b| b} == nil assert_equal m{|&b| b}, nil
end end
assert('BS Block [ruby-dev:31160]') do assert('BS Block [ruby-dev:31160]') do
def m() def m()
yield yield
end end
m {|(v,(*))|} == nil assert_equal m {|(v,(*))|}, nil
end end
assert('BS Block [issue #750]') do assert('BS Block [issue #750]') do
...@@ -337,25 +385,26 @@ assert('BS Block [issue #750]') do ...@@ -337,25 +385,26 @@ assert('BS Block [issue #750]') do
yield yield
end end
args = [1, 2, 3] args = [1, 2, 3]
m(*args){ 1 } == 1 assert_equal m(*args){ 1 }, 1
end end
assert('BS Block 31') do assert('BS Block 31') do
def m() def m()
yield yield
end end
m {|((*))|} == nil assert_equal m {|((*))|}, nil
end end
assert('BS Block [ruby-dev:31440]') do assert('BS Block [ruby-dev:31440]') do
def m def m
yield [0] yield [0]
end end
m{|v, &b| v} == [0] assert_equal m{|v, &b| v}, [0]
end end
assert('BS Block 32') do assert('BS Block 32') do
r = false; 1.times{|&b| r = b}; r.class == NilClass r = false; 1.times{|&b| r = b}
assert_equal r.class, NilClass
end end
assert('BS Block [ruby-core:14395]') do assert('BS Block [ruby-core:14395]') do
...@@ -394,7 +443,7 @@ assert('BS Block [ruby-core:14395]') do ...@@ -394,7 +443,7 @@ assert('BS Block [ruby-core:14395]') do
end end
end end
t = Controller.new t = Controller.new
t.test_for_bug assert_true t.test_for_bug
end end
assert("BS Block 33") do assert("BS Block 33") do
...@@ -408,7 +457,7 @@ assert("BS Block 33") do ...@@ -408,7 +457,7 @@ assert("BS Block 33") do
:bad :bad
end end
end end
TestReturnFromNestedBlock.test == :ok assert_equal TestReturnFromNestedBlock.test, :ok
end end
assert("BS Block 34") do assert("BS Block 34") do
...@@ -422,7 +471,7 @@ assert("BS Block 34") do ...@@ -422,7 +471,7 @@ assert("BS Block 34") do
:bad :bad
end end
end end
TestReturnFromNestedBlock_BSBlock34.test == :ok assert_equal TestReturnFromNestedBlock_BSBlock34.test, :ok
end end
assert("BS Block 35") do assert("BS Block 35") do
...@@ -436,5 +485,5 @@ assert("BS Block 35") do ...@@ -436,5 +485,5 @@ assert("BS Block 35") do
:bad :bad
end end
end end
TestReturnFromNestedBlock_BSBlock35.test == :ok assert_equal TestReturnFromNestedBlock_BSBlock35.test, :ok
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