mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Fix missing assertions in mruby-random test
This commit is contained in:
@@ -1,48 +1,66 @@
|
||||
##
|
||||
# Random Test
|
||||
|
||||
assert("Random#srand") do
|
||||
assert("Random.new") do
|
||||
r1 = 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
|
||||
|
||||
assert("Kernel::srand") do
|
||||
assert("Kernel.srand") do
|
||||
srand(234)
|
||||
r1 = rand
|
||||
srand(234)
|
||||
r2 = rand
|
||||
r1 == r2
|
||||
srand(235)
|
||||
r3 = rand
|
||||
assert_equal(r1, r2)
|
||||
assert_not_equal(r1, r3)
|
||||
end
|
||||
|
||||
assert("Random::srand") do
|
||||
assert("Random.srand") do
|
||||
Random.srand(345)
|
||||
r1 = rand
|
||||
srand(345)
|
||||
r2 = Random.rand
|
||||
r1 == r2
|
||||
Random.srand(346)
|
||||
r3 = rand
|
||||
assert_equal(r1, r2)
|
||||
assert_not_equal(r1, r3)
|
||||
end
|
||||
|
||||
assert("fixnum") do
|
||||
rand(3).class == Fixnum
|
||||
end
|
||||
|
||||
assert("float") do
|
||||
rand.class == Float
|
||||
assert("return class of Kernel.rand") do
|
||||
assert_kind_of(Fixnum, rand(3))
|
||||
assert_kind_of(Fixnum, rand(1.5))
|
||||
assert_kind_of(Float, rand)
|
||||
assert_kind_of(Float, rand(0.5))
|
||||
end
|
||||
|
||||
assert("Array#shuffle") do
|
||||
ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
orig = ary.dup
|
||||
shuffled = ary.shuffle
|
||||
|
||||
ary == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and shuffled != ary and 10.times { |x| ary.include? x }
|
||||
assert_equal(orig, ary)
|
||||
assert_not_equal(ary, shuffled)
|
||||
assert_equal(ary.size, shuffled.size)
|
||||
shuffled.each do |x|
|
||||
assert_include(ary, x)
|
||||
ary.delete(x)
|
||||
end
|
||||
end
|
||||
|
||||
assert('Array#shuffle!') do
|
||||
ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
ary.shuffle!
|
||||
|
||||
ary != [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and 10.times { |x| ary.include? x }
|
||||
orig = ary.dup
|
||||
assert_same(ary, ary.shuffle!)
|
||||
assert_not_equal(orig, ary)
|
||||
assert_equal(orig.size, ary.size)
|
||||
ary.each do |x|
|
||||
assert_include(orig, x)
|
||||
orig.delete(x)
|
||||
end
|
||||
end
|
||||
|
||||
assert("Array#shuffle(random)") do
|
||||
@@ -52,12 +70,12 @@ assert("Array#shuffle(random)") do
|
||||
end
|
||||
|
||||
# verify that the same seed causes the same results
|
||||
ary1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
shuffle1 = ary1.shuffle Random.new 345
|
||||
ary2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
shuffle2 = ary2.shuffle Random.new 345
|
||||
|
||||
ary1 != shuffle1 and 10.times { |x| shuffle1.include? x } and shuffle1 == shuffle2
|
||||
ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
shuffled1 = ary.shuffle Random.new 345
|
||||
shuffled2 = ary.shuffle Random.new 345
|
||||
shuffled3 = ary.shuffle Random.new 346
|
||||
assert_equal(shuffled1, shuffled2)
|
||||
assert_not_equal(shuffled1, shuffled3)
|
||||
end
|
||||
|
||||
assert('Array#shuffle!(random)') do
|
||||
@@ -71,6 +89,8 @@ assert('Array#shuffle!(random)') do
|
||||
ary1.shuffle! Random.new 345
|
||||
ary2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
ary2.shuffle! Random.new 345
|
||||
|
||||
ary1 != [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and 10.times { |x| ary1.include? x } and ary1 == ary2
|
||||
ary3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
ary3.shuffle! Random.new 346
|
||||
assert_equal(ary1, ary2)
|
||||
assert_not_equal(ary1, ary3)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user