2017-05-07 12:04:49 +00:00
|
|
|
describe :set_intersection, shared: true do
|
|
|
|
before :each do
|
|
|
|
@set = Set[:a, :b, :c]
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns a new Set containing only elements shared by self and the passed Enumerable" do
|
|
|
|
@set.send(@method, Set[:b, :c, :d, :e]).should == Set[:b, :c]
|
|
|
|
@set.send(@method, [:b, :c, :d]).should == Set[:b, :c]
|
|
|
|
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
|