Sha256: 39357d3bced959c4d1265729422396a00cc73f34c20c472467338bcca4630b74

Contents?: true

Size: 981 Bytes

Versions: 1

Compression:

Stored size: 981 Bytes

Contents

require 'rspec'
require_relative '../lib/totally_lazy'

describe 'Pair' do

  it 'should return the first item: first/key' do
    expect(pair(1, 2).first).to eq(1)
    expect(pair(1, 2).key).to eq(1)
  end

  it 'should return the second item: second/value' do
    expect(pair(1, 2).second).to eq(2)
    expect(pair(1, 2).value).to eq(2)
  end

  it 'should return sequence of values' do
    expect(pair(1, 2).values).to eq(sequence(1, 2))
  end

  it 'should convert to string' do
    expect(pair('apples', 2).to_s).to eq({'apples' => '2'})
  end

  it 'should convert to a sequence of pairs from a map' do
    expect(Pair.from_map({apples: '10'}).to_a).to eq(sequence(pair(:apples, '10')).to_a)
  end

  it 'should convert a pair to a map' do
    expect(pair(1, 2).to_map).to eq({1 => 2})
  end

  it 'should convert to int' do
    expect(pair('1', '2').to_i).to eq({1 => 2})
  end

  it 'should convert to float' do
    expect(pair('1', '2').to_f).to eq({1.0 => 2.0})
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
totally_lazy-0.0.4 spec/pair_spec.rb