summaryrefslogtreecommitdiff
path: root/spec/ruby/library/set/exclusion_spec.rb
blob: 5bc4b5a2bf127d34f6d97374abef2cddf1445d4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require_relative '../../spec_helper'
require 'set'

describe "Set#^" do
  before :each do
    @set = Set[1, 2, 3, 4]
  end

  it "returns a new Set containing elements that are not in both self and the passed Enumerable" do
    (@set ^ Set[3, 4, 5]).should == Set[1, 2, 5]
    (@set ^ [3, 4, 5]).should == Set[1, 2, 5]
  end

  it "raises an ArgumentError when passed a non-Enumerable" do
    -> { @set ^ 3 }.should raise_error(ArgumentError)
    -> { @set ^ Object.new }.should raise_error(ArgumentError)
  end
end