Sha256: 06c7bd6ff12d9e9a1cbd9db0a5456108bfc99ce11487fbeb079cabea15dde21e

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

require_relative File.join 'support', 'coverage'
require_relative File.join '..', 'lib', 'spectus'

subject = -> { 'foo'.upcase }

begin
  Spectus.this(&subject).MAY(Eql: 'foo')
rescue Spectus::Result::Fail => raised_result
  raise 'failing test' unless raised_result.to_char == 'F'
  raise 'failing test' unless raised_result.to_h == {
    subject:    subject,
    challenge:  :call,
    context:    [],
    actual:     'FOO',
    expected:   { Eql: 'foo' },
    got:        false,
    error:      nil,
    level:      :Low,
    negate:     false,
    valid:      false,
    result:     false
  }

  print '.'
end

subject = -> { 'foo'.upcase(:bar) }

begin
  Spectus.this(&subject).MAY(Eql: 'foo')
rescue Spectus::Result::Fail => raised_result
  raise 'failing test' unless raised_result.error.class == ArgumentError
  raise 'failing test' unless raised_result.to_char == 'E'
  raise 'failing test' unless raised_result.to_h == {
    subject:    subject,
    challenge:  :call,
    context:    [],
    actual:     nil,
    expected:   { Eql: 'foo' },
    got:        nil,
    error:      raised_result.error,
    level:      :Low,
    negate:     false,
    valid:      false,
    result:     false
  }

  print '.'
end

puts

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spectus-2.1.0 test/test_low_fail.rb