class Bogus::Interaction::InteractionComparator

Attributes

recorded[R]
stubbed[R]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/bogus/stubbing/interaction.rb, line 30
def initialize(opts = {})
  @recorded = opts.fetch(:recorded)
  @stubbed = opts.fetch(:stubbed)
end

Public Instance Methods

same?() click to toggle source
# File lib/bogus/stubbing/interaction.rb, line 35
def same?
  return false unless recorded.method == stubbed.method
  return false unless same_result?
  same_args?
end

Private Instance Methods

same_args?() click to toggle source
# File lib/bogus/stubbing/interaction.rb, line 43
def same_args?
  ArgumentComparator.new(recorded: recorded.args, stubbed: stubbed.args).same?
end
same_result?() click to toggle source
# File lib/bogus/stubbing/interaction.rb, line 47
def same_result?
  return true unless recorded.has_result && stubbed.has_result
  recorded.return_value == stubbed.return_value && recorded.error == stubbed.error
end