summaryrefslogtreecommitdiff
path: root/spec/ruby/library/set/join_spec.rb
blob: 3f511a84e4118e6a7ecf5a9049b6415af8a40999 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require_relative '../../spec_helper'
require 'set'

describe "Set#join" do
  it "returns an empty string if the Set is empty" do
    Set[].join.should == ''
  end

  it "returns a new string formed by joining elements after conversion" do
    set = Set[:a, :b, :c]
    set.join.should == "abc"
  end

  it "does not separate elements when the passed separator is nil" do
    set = Set[:a, :b, :c]
    set.join(nil).should == "abc"
  end

  it "returns a string formed by concatenating each element separated by the separator" do
    set = Set[:a, :b, :c]
    set.join(' | ').should == "a | b | c"
  end

  it "calls #to_a to convert the Set in to an Array" do
    set = Set[:a, :b, :c]
    set.should_receive(:to_a).and_return([:a, :b, :c])
    set.join.should == "abc"
  end
end