2017-05-07 12:04:49 +00:00
|
|
|
describe :set_difference, shared: true do
|
|
|
|
before :each do
|
|
|
|
@set = Set[:a, :b, :c]
|
|
|
|
end
|
|
|
|
|
2017-10-28 15:15:48 +00:00
|
|
|
it "returns a new Set containing self's elements excluding the elements in the passed Enumerable" do
|
2017-05-07 12:04:49 +00: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
|
2019-07-27 12:40:09 +02:00
|
|
|
-> { @set.send(@method, 1) }.should raise_error(ArgumentError)
|
|
|
|
-> { @set.send(@method, Object.new) }.should raise_error(ArgumentError)
|
2017-05-07 12:04:49 +00:00
|
|
|
end
|
|
|
|
end
|