Unverified Commit 4e3e4260 authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto Committed by GitHub

Merge pull request #4381 from shuujii/fix-missing-assertions-in-mruby-random-test

Fix missing assertions in `mruby-random` test
parents 6b8d3c70 d53eb8a3
## ##
# Random Test # Random Test
assert("Random#srand") do assert("Random.new") do
r1 = Random.new(123) r1 = Random.new(123)
r2 = Random.new(123) r2 = Random.new(123)
r1.rand == r2.rand r3 = Random.new(124)
assert_equal(r1.rand, r2.rand)
assert_not_equal(r1.rand, r3.rand)
end end
assert("Kernel::srand") do assert("Kernel.srand") do
srand(234) srand(234)
r1 = rand r1 = rand
srand(234) srand(234)
r2 = rand r2 = rand
r1 == r2 srand(235)
r3 = rand
assert_equal(r1, r2)
assert_not_equal(r1, r3)
end end
assert("Random::srand") do assert("Random.srand") do
Random.srand(345) Random.srand(345)
r1 = rand r1 = rand
srand(345) srand(345)
r2 = Random.rand r2 = Random.rand
r1 == r2 Random.srand(346)
r3 = rand
assert_equal(r1, r2)
assert_not_equal(r1, r3)
end end
assert("fixnum") do assert("return class of Kernel.rand") do
rand(3).class == Fixnum assert_kind_of(Fixnum, rand(3))
end assert_kind_of(Fixnum, rand(1.5))
assert_kind_of(Float, rand)
assert("float") do assert_kind_of(Float, rand(0.5))
rand.class == Float
end end
assert("Array#shuffle") do assert("Array#shuffle") do
ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
orig = ary.dup
shuffled = ary.shuffle shuffled = ary.shuffle
assert_equal(orig, ary)
ary == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and shuffled != ary and 10.times { |x| ary.include? x } assert_not_equal(ary, shuffled)
assert_equal(ary.size, shuffled.size)
shuffled.each do |x|
assert_include(ary, x)
ary.delete(x)
end
end end
assert('Array#shuffle!') do assert('Array#shuffle!') do
ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ary.shuffle! orig = ary.dup
assert_same(ary, ary.shuffle!)
ary != [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and 10.times { |x| ary.include? x } assert_not_equal(orig, ary)
assert_equal(orig.size, ary.size)
ary.each do |x|
assert_include(orig, x)
orig.delete(x)
end
end end
assert("Array#shuffle(random)") do assert("Array#shuffle(random)") do
...@@ -52,12 +70,12 @@ assert("Array#shuffle(random)") do ...@@ -52,12 +70,12 @@ assert("Array#shuffle(random)") do
end end
# verify that the same seed causes the same results # verify that the same seed causes the same results
ary1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
shuffle1 = ary1.shuffle Random.new 345 shuffled1 = ary.shuffle Random.new 345
ary2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] shuffled2 = ary.shuffle Random.new 345
shuffle2 = ary2.shuffle Random.new 345 shuffled3 = ary.shuffle Random.new 346
assert_equal(shuffled1, shuffled2)
ary1 != shuffle1 and 10.times { |x| shuffle1.include? x } and shuffle1 == shuffle2 assert_not_equal(shuffled1, shuffled3)
end end
assert('Array#shuffle!(random)') do assert('Array#shuffle!(random)') do
...@@ -71,6 +89,8 @@ assert('Array#shuffle!(random)') do ...@@ -71,6 +89,8 @@ assert('Array#shuffle!(random)') do
ary1.shuffle! Random.new 345 ary1.shuffle! Random.new 345
ary2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ary2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ary2.shuffle! Random.new 345 ary2.shuffle! Random.new 345
ary3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ary1 != [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and 10.times { |x| ary1.include? x } and ary1 == ary2 ary3.shuffle! Random.new 346
assert_equal(ary1, ary2)
assert_not_equal(ary1, ary3)
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