2017-05-07 08:04:49 -04:00
|
|
|
describe :set_difference, shared: true do
|
|
|
|
before :each do
|
|
|
|
@set = Set[:a, :b, :c]
|
|
|
|
end
|
|
|
|
|
2017-10-28 11:15:48 -04:00
|
|
|
it "returns a new Set containing self's elements excluding the elements in the passed Enumerable" do
|
2017-05-07 08:04:49 -04:00
|
|
|
@set.send(@method, Set[:a, :b]).should == Set[:c]
|
|
|
|
@set.send(@method, [:b, :c]).should == Set[:a]
|
|
|
|
end
|
|
|
|
|
|
|
|
it "raises an ArgumentError when passed a non-Enumerable" do
|
|
|
|
lambda { @set.send(@method, 1) }.should raise_error(ArgumentError)
|
|
|
|
lambda { @set.send(@method, Object.new) }.should raise_error(ArgumentError)
|
|
|
|
end
|
|
|
|
end
|