summaryrefslogtreecommitdiff
path: root/spec/ruby/core/hash/shared/comparison.rb
blob: 07564e4ceca9df251c8205c9ecabb9fbaa6f3e20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
describe :hash_comparison, shared: true do
  it "raises a TypeError if the right operand is not a hash" do
    -> { { a: 1 }.send(@method, 1) }.should raise_error(TypeError)
    -> { { a: 1 }.send(@method, nil) }.should raise_error(TypeError)
    -> { { a: 1 }.send(@method, []) }.should raise_error(TypeError)
  end

  it "returns false if both hashes have the same keys but different values" do
    h1 = { a: 1 }
    h2 = { a: 2 }

    h1.send(@method, h2).should be_false
    h2.send(@method, h1).should be_false
  end
end