1require_relative '../../../spec_helper' 2require 'set' 3 4describe "SortedSet#subset?" do 5 before :each do 6 @set = SortedSet[1, 2, 3, 4] 7 end 8 9 it "returns true if passed a SortedSet that is equal to self or self is a subset of" do 10 @set.subset?(@set).should be_true 11 SortedSet[].subset?(SortedSet[]).should be_true 12 13 SortedSet[].subset?(@set).should be_true 14 SortedSet[].subset?(SortedSet[1, 2, 3]).should be_true 15 SortedSet[].subset?(SortedSet["a", "b", "c"]).should be_true 16 17 SortedSet[1, 2, 3].subset?(@set).should be_true 18 SortedSet[1, 3].subset?(@set).should be_true 19 SortedSet[1, 2].subset?(@set).should be_true 20 SortedSet[1].subset?(@set).should be_true 21 22 SortedSet[5].subset?(@set).should be_false 23 SortedSet[1, 5].subset?(@set).should be_false 24 SortedSet["test"].subset?(@set).should be_false 25 end 26 27 it "raises an ArgumentError when passed a non-SortedSet" do 28 lambda { SortedSet[].subset?([]) }.should raise_error(ArgumentError) 29 lambda { SortedSet[].subset?(1) }.should raise_error(ArgumentError) 30 lambda { SortedSet[].subset?("test") }.should raise_error(ArgumentError) 31 lambda { SortedSet[].subset?(Object.new) }.should raise_error(ArgumentError) 32 end 33end 34