Sha256: e9dd5e052f168a9b03eb7ca650f9fa61bdaf89c21e87ce77996f308d850d0323

Contents?: true

Size: 891 Bytes

Versions: 2

Compression:

Stored size: 891 Bytes

Contents

require 'dry/validation/predicates'

RSpec.shared_examples 'predicates' do
  let(:none?) { Dry::Validation::Predicates[:none?] }

  let(:str?) { Dry::Validation::Predicates[:str?] }

  let(:filled?) { Dry::Validation::Predicates[:filled?] }

  let(:min_size?) { Dry::Validation::Predicates[:min_size?] }

  let(:key?) { Dry::Validation::Predicates[:key?] }

  let(:eql?) { Dry::Validation::Predicates[:eql?] }
end

RSpec.shared_examples 'a passing predicate' do
  let(:predicate) { Dry::Validation::Predicates[predicate_name] }

  it do
    arguments_list.each do |(left, right)|
      expect(predicate.call(left, right)).to be(true)
    end
  end
end

RSpec.shared_examples 'a failing predicate' do
  let(:predicate) { Dry::Validation::Predicates[predicate_name] }

  it do
    arguments_list.each do |(left, right)|
      expect(predicate.call(left, right)).to be(false)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dry-validation-0.4.1 spec/shared/predicates.rb
dry-validation-0.4.0 spec/shared/predicates.rb