summaryrefslogtreecommitdiff
path: root/spec/rubyspec/core/random/equal_value_spec.rb
blob: 738f549f1d6b4c07d87a7ec2824886931eb819f8 (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
require File.expand_path('../../../spec_helper', __FILE__)

describe "Random#==" do
  it "returns true if the two objects have the same state" do
    a = Random.new(42)
    b = Random.new(42)
    a.send(:state).should == b.send(:state)
    a.should == b
  end

  it "returns false if the two objects have different state" do
    a = Random.new
    b = Random.new
    a.send(:state).should_not == b.send(:state)
    a.should_not == b
  end

  it "returns true if the two objects have the same seed" do
    a = Random.new(42)
    b = Random.new(42.5)
    a.seed.should == b.seed
    a.should == b
  end

  it "returns false if the two objects have a different seed" do
    a = Random.new(42)
    b = Random.new(41)
    a.seed.should_not == b.seed
    a.should_not == b
  end

  it "returns false if the other object is not a Random" do
    a = Random.new(42)
    a.should_not == 42
    a.should_not == [a]
  end
end