summaryrefslogtreecommitdiff
path: root/spec/ruby/library/set/join_spec.rb
blob: 7498a91d9800bdb5e6e80e3dae54e094a6564063 (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
30
31
require_relative '../../spec_helper'
require 'set'

ruby_version_is "3.0" do
  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
end