summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-random/test/random.rb
blob: b35acaafd7a8c48a1f4a039f617a9dfd6ac0c8f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
##
# Random Test

assert("Random#srand") do
  r1 = Random.new(123)
  r2 = Random.new(123)
  r1.rand == r2.rand
end

assert("Kernel::srand") do
  srand(234)
  r1 = rand
  srand(234)
  r2 = rand
  r1 == r2
end

assert("Random::srand") do
  Random.srand(345)
  r1 = rand
  srand(345)
  r2 = Random.rand
  r1 == r2
end

assert("fixnum") do
  rand(3).class == Fixnum
end

assert("float") do
  rand.class == Float
end

assert("Array#shuffle") do 
  ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  shuffled = ary.shuffle
  
  ary == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and shuffled != ary and 10.times { |x| ary.include? x }
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 }
end