1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
module RSpec
module Matchers
module BuiltIn
class Equal < BaseMatcher
def match(expected, actual)
actual.equal? expected
end
def failure_message_for_should
return <<-MESSAGE
expected #{inspect_object(expected)}
got #{inspect_object(actual)}
Compared using equal?, which compares object identity,
but expected and actual are not the same object. Use
`#{eq_expression}` if you don't care about
object identity in this example.
MESSAGE
end
def failure_message_for_should_not
return <<-MESSAGE
expected not #{inspect_object(actual)}
got #{inspect_object(expected)}
Compared using equal?, which compares object identity.
MESSAGE
end
def diffable?; true; end
private
def inspect_object(o)
"#<#{o.class}:#{o.object_id}> => #{o.inspect}"
end
def eq_expression
Expectations::Syntax.positive_expression("actual", "eq(expected)")
end
end
end
end
end
|