Sha256: e03e39f0b05587f1bc29d5009ddc6dae9bc332a88a406a96d834242fbc7ca57d
Contents?: true
Size: 1.29 KB
Versions: 12
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true RSpec.describe Mutant::Transform::Boolean do subject { described_class.new } let(:primitive) { String } describe '#apply' do def apply subject.apply(input) end context 'on true' do let(:input) { true } it 'returns sucess' do expect(apply).to eql(Mutant::Either::Right.new(input)) end end context 'on false' do let(:input) { false } it 'returns sucess' do expect(apply).to eql(Mutant::Either::Right.new(input)) end end context 'on nil input' do let(:input) { nil } let(:error) do Mutant::Transform::Error.new( cause: nil, input: input, message: 'Expected: boolean but got: nil', transform: subject ) end it 'returns failure' do expect(apply).to eql(Mutant::Either::Left.new(error)) end end context 'on truthy input' do let(:input) { '' } let(:error) do Mutant::Transform::Error.new( cause: nil, input: input, message: 'Expected: boolean but got: ""', transform: subject ) end it 'returns failure' do expect(apply).to eql(Mutant::Either::Left.new(error)) end end end end
Version data entries
12 entries across 12 versions & 1 rubygems