summaryrefslogtreecommitdiff
path: root/spec/ruby/core/random/default_spec.rb
blob: b4ffcb81f42c3f01ef9aba14bf552fe22af15f63 (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
require_relative '../../spec_helper'

describe "Random::DEFAULT" do
  ruby_version_is ''...'3.2' do
    it "returns a random number generator" do
      suppress_warning do
        Random::DEFAULT.should respond_to(:rand)
      end
    end

    it "changes seed on reboot" do
      seed1 = ruby_exe('p Random::DEFAULT.seed', options: '--disable-gems')
      seed2 = ruby_exe('p Random::DEFAULT.seed', options: '--disable-gems')
      seed1.should != seed2
    end

    ruby_version_is ''...'3.0' do
      it "returns a Random instance" do
        suppress_warning do
          Random::DEFAULT.should be_an_instance_of(Random)
        end
      end
    end

    ruby_version_is '3.0' do
      it "refers to the Random class" do
        suppress_warning do
          Random::DEFAULT.should.equal?(Random)
        end
      end

      it "is deprecated" do
        -> {
          Random::DEFAULT.should.equal?(Random)
        }.should complain(/constant Random::DEFAULT is deprecated/)
      end
    end
  end

  ruby_version_is '3.2' do
    it "is no longer defined" do
      Random.should_not.const_defined?(:DEFAULT)
    end
  end
end