Sha256: c45d7244643525cec11aa0749e1c3560a5464c4ebf4d333f2a70c2edaccdb44d
Contents?: true
Size: 1.16 KB
Versions: 17
Compression:
Stored size: 1.16 KB
Contents
require 'dry/logic/predicates' RSpec.describe Dry::Logic::Predicates do describe '#size?' do let(:predicate_name) { :size? } context 'when value size is equal to n' do let(:arguments_list) do [ [[8], 2], [4, 'Jill'], [2, { 1 => 'st', 2 => 'nd' }], [8, 8], [1..8, 5] ] end it_behaves_like 'a passing predicate' end context 'when value size is greater than n' do let(:arguments_list) do [ [[1, 2], 3], [5, 'Jill'], [3, { 1 => 'st', 2 => 'nd' }], [1, 9], [1..5, 6] ] end it_behaves_like 'a failing predicate' end context 'with value size is less than n' do let(:arguments_list) do [ [[1, 2], 1], [3, 'Jill'], [1, { 1 => 'st', 2 => 'nd' }], [1, 7], [1..5, 4] ] end it_behaves_like 'a failing predicate' end context 'with an unsupported size' do it 'raises an error' do expect { Predicates[:size?].call('oops', 1) }.to raise_error(ArgumentError, /oops/) end end end end
Version data entries
17 entries across 17 versions & 1 rubygems