Updated RubySpec source to 55122684.
[rbx.git] / spec / frozen / 1.8 / library / set / equal_value_spec.rb
blob38beeaaf675430b95f7fcda8dc3ffee468bc3e36
1 require File.dirname(__FILE__) + '/../../spec_helper'
2 require 'set'
4 describe "Set#==" do
5   it "returns true when the passed Object is a Set and self and the Object contain the same elements" do
6     Set[].should == Set[]
7     Set[1, 2, 3].should == Set[1, 2, 3]
8     Set["1", "2", "3"].should == Set["1", "2", "3"]
9     
10     Set[1, 2, 3].should_not == Set[1.0, 2, 3]
11     Set[1, 2, 3].should_not == [1, 2, 3]
12   end
13   
14   it "does not depend on the order of the elements" do
15     Set[1, 2, 3].should == Set[3, 2, 1]
16     Set[:a, "b", ?c].should == Set[?c, "b", :a]
17   end
18   
19   ruby_version_is "" ... "1.8.7" do
20     it "does depend on the order of nested Sets" do
21       Set[Set[1], Set[2], Set[3]].should_not == Set[Set[3], Set[2], Set[1]]
23       set1 = Set[Set["a", "b"], Set["c", "d"], Set["e", "f"]]
24       set2 = Set[Set["c", "d"], Set["a", "b"], Set["e", "f"]]
25       set1.should_not == set2
26     end
27   end
28   
29   ruby_version_is "1.8.7" do
30     it "does not depend on the order of nested Sets" do
31       Set[Set[1], Set[2], Set[3]].should == Set[Set[3], Set[2], Set[1]]
33       set1 = Set[Set["a", "b"], Set["c", "d"], Set["e", "f"]]
34       set2 = Set[Set["c", "d"], Set["a", "b"], Set["e", "f"]]
35       set1.should == set2
36     end
37   end
38 end