summaryrefslogtreecommitdiff
path: root/spec/ruby/library/set/shared/difference.rb
blob: 9439715da730942a08e32a3b31b193960e6e9f1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
describe :set_difference, shared: true do
  before :each do
    @set = Set[:a, :b, :c]
  end

  it "returns a new Set containting self's elements excluding the elements in the passed Enumerable" do
    @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