Sha256: 37521e86f3a9f9f2ff7c92dee5815e11645ea8bf1855e8dd4d57e423c5e85c9f
Contents?: true
Size: 1.32 KB
Versions: 1
Compression:
Stored size: 1.32 KB
Contents
require 'rspec' require_relative '../lib/totally_lazy' describe 'Predicates' do it 'should return only even numbers' do expect(sequence(1,2,3,4,5,6).filter(even)).to eq(sequence(2,4,6)) expect { sequence(pair(1,2),pair(3,4)).filter(even).entries }.to raise_error(UnsupportedTypeException) end it 'should return only even numbers' do expect(sequence(1,2,3,4,5,6).filter(even)).to eq(sequence(2,4,6)) expect { sequence(pair(1,2),pair(3,4)).filter(even).entries }.to raise_error(UnsupportedTypeException) end it 'should return content as string' do expect(sequence(1,2).map(as_string)).to eq(sequence("1","2")) expect(sequence(pair(1,2),pair(3,4)).map(as_string).entries).to eq([{'1'=>'2'},{'3'=>'4'}]) end it 'should return content as int' do expect(sequence('1','2').map(as_int)).to eq(sequence(1,2)) expect(sequence(pair('1','2'),pair('3','4')).map(as_int).entries).to eq([{1=>2}, {3=>4}]) end it 'should return content as float' do expect(sequence(1,2).map(as_float)).to eq(sequence(1.0,2.0)) expect(sequence(pair(1,2),pair(3,4)).map(as_float).entries).to eq([{1.0=>2.0}, {3.0=>4.0}]) end it 'should return content as array' do expect(sequence(1,2).map(as_array)).to eq(sequence([1],[2])) expect(sequence(pair(1,2),pair(3,4)).map(as_array).head.class).to eq(Array) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
totally_lazy-0.0.4 | spec/predicate_spec.rb |