Sha256: 653193eab7422fd58823d57341a2b87501513dc532da8cf4e7d9e7b8d0ddab73

Contents?: true

Size: 743 Bytes

Versions: 2

Compression:

Stored size: 743 Bytes

Contents

require_relative 'equal_assay'

# UnequalAssay compares objects with `#!=` operator. Yes, as of Ruby 1.9
# the `!=` is a redefinable method, and as such, we need a separate
# assay to cover it.
#
class UnequalAssay < EqualAssay

  register :!=, :unequal

  #
  # Check assertion using `#!=` method.
  #
  def self.pass?(subject, criterion)
    subject != criterion
  end

  #
  # Failed assertion message.
  #
  def self.assert_message(subject, criterion)
    a = subject.inspect
    b = criterion.inspect
  
    if a.size > SIZE_LIMIT or b.size > SIZE_LIMIT
      if $ansi
        d = ANSI::Diff.new(a, b)
        a, b = d.diff1, d.diff2  # *d.to_a
      end
      "a != b\na) #{a}\nb) #{b}"
    else
      "#{a} != #{b}"
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
assay-0.4.1 lib/assay/unequal_assay.rb
assay-0.4.0 lib/assay/unequal_assay.rb