require "./spec_helper" describe Array do describe "#union" do it "works with no elements" do ([] of Set(Int32)).union.should eq(Set(Int32).new) end it "correctly performs a union" do [Set { 1 }, Set { 2 }, Set {1, 2, 3}].union.should eq(Set { 1,2,3}) end end describe "#intersect" do expect_raises(Enumerable::EmptyError) do ([] of Set(Int32)).intersect end it "correctly performs an intersection" do [Set {1}, Set {1,2}, Set {1,2,3}].intersect.should eq(Set{1}) end end describe "#zip_with" do it "performs as expected" do [1,2,3].zip_with([2,3,4]) { |l,r| l*r }.should eq([2,6,12]) end end end