Sha256: 6e22df039e1d2c28bad841f4e88876b38463753712f6169ea34e4bb4f9216d71

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

covers 'facets/array/conjoin'

testcase Array do

  instance "any array" do
    [1,2,3,4]
  end

  unit :conjoin => "like join but spaced" do |a|
    a.conjoin.assert == "1 2 3 4"
  end

  unit :conjoin => "comma+space and 'and' on tail" do |a|
    a.conjoin(', ', ' and ').assert = "1, 2, 3 and 4"
  end

  unit :conjoin => "comma+space and 'or' on tail using :last option" do |a|
    a.conjoin(', ', :last => ' or ').assert == "1, 2, 3 or 4"
  end

  unit :conjoin => "semicolon+space and ampersand on tail using index" do |a|
    a.conjoin('; ', -1 => ' & ').assert == "1; 2; 3 & 4"
  end

  unit :conjoin => "with block to determine separator" do |a|
    r = a.conjoin{ |i, a, b| i % 2 == 0 ? '.' : '-' }
    r.assert == "1.2-3.4"
  end

  unit :conjoin => "very esoteric transformation" do |a|
     r = a.conjoin{ |i, x, y| "<#{i} #{x} #{y}>" }
     r.assert == "1<0 1 2>2<1 2 3>3<2 3 4>4"
  end

  unit :conjoin => "with :space option" do |a|
    r = a.conjoin(',', '&', :space=>2)
    r.assert == "1  ,  2  ,  3  &  4"
  end

  unit :conjoin => ":spacer option can set an alternate spacing string" do |a|
    r = a.conjoin('|', '>', :space=>2, :spacer=>'-')
    r.assert == "1--|--2--|--3-->--4"
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
facets-2.9.0.pre.1 test/core/array/test_conjoin.rb