Sha256: 4cc571bba4becbba62a8051192ec6dd08dcc096398faa5639574df2d55e26bfa

Contents?: true

Size: 608 Bytes

Versions: 198

Compression:

Stored size: 608 Bytes

Contents

TOLERANCE = 0.00003 unless Object.const_defined?(:TOLERANCE)

class BeCloseMatcher
  def initialize(expected, tolerance)
    @expected = expected
    @tolerance = tolerance
  end

  def matches?(actual)
    @actual = actual
    (@actual - @expected).abs < @tolerance
  end

  def failure_message
    ["Expected #{@expected}", "to be within +/- #{@tolerance} of #{@actual}"]
  end

  def negative_failure_message
    ["Expected #{@expected}", "not to be within +/- #{@tolerance} of #{@actual}"]
  end
end

class Object
  def be_close(expected, tolerance)
    BeCloseMatcher.new(expected, tolerance)
  end
end

Version data entries

198 entries across 174 versions & 4 rubygems

Version Path
mspec-1.5.1 lib/mspec/matchers/be_close.rb
mspec-1.3.0 lib/mspec/matchers/be_close.rb
mspec-1.5.10 lib/mspec/matchers/be_close.rb
mspec-1.1.0 lib/mspec/matchers/be_close.rb
mspec-1.5.4 lib/mspec/matchers/be_close.rb
mspec-1.1.1 lib/mspec/matchers/be_close.rb
mspec-1.5.2 lib/mspec/matchers/be_close.rb
mspec-1.2.0 lib/mspec/matchers/be_close.rb
mspec-1.5.0 lib/mspec/matchers/be_close.rb
mspec-1.3.1 lib/mspec/matchers/be_close.rb
mspec-1.4.0 lib/mspec/matchers/be_close.rb
mspec-1.5.7 lib/mspec/matchers/be_close.rb
mspec-1.5.5 lib/mspec/matchers/be_close.rb
mspec-1.5.6 lib/mspec/matchers/be_close.rb
mspec-1.5.8 lib/mspec/matchers/be_close.rb
mspec-1.5.9 lib/mspec/matchers/be_close.rb
rhodes-framework-1.1.1 spec/app/mspec/matchers/be_close.rb
rhodes-framework-1.1.0 spec/app/mspec/matchers/be_close.rb