Sha256: 4c5278fef3fca7c81a7b50beb1ee215d058b0e295a6bb02660011d21d00be47f

Contents?: true

Size: 1.14 KB

Versions: 2

Compression:

Stored size: 1.14 KB

Contents

module Matchi
  # **Truth** matcher.
  class BeTrue < BasicObject
    # Boolean comparison between the actual value and the expected value.
    #
    # @example Is it true?
    #   be_true = Matchi::BeTrue.new
    #   be_true.matches? { true } # => true
    #
    # @yieldreturn [#object_id] the actual value to compare to the expected one.
    #
    # @return [Boolean] Comparison between actual and expected values.
    def matches?
      true.equal?(yield)
    end

    # Returns a string representing the matcher.
    #
    # @example The readable definition of a FooBar matcher.
    #   matcher = Matchi::FooBar.new(42)
    #   matcher.to_s # => "foo_bar 42"
    #
    # @return [String] A string representing the matcher.
    def to_s
      'be_true'
    end

    # Returns a hash of one key-value pair with a key corresponding to the
    #   matcher and a value corresponding to its initialize parameters.
    #
    # @example A FooBar matcher serialized into a hash.
    #   matcher = Matchi::FooBar.new(42)
    #   matcher.to_h # => { FooBar: 42 }
    #
    # @return [Hash] A hash of one key-value pair.
    def to_h
      { BeTrue: [] }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
matchi-0.1.1 lib/matchi/be_true.rb
matchi-0.1.0 lib/matchi/be_true.rb