def assert_equal(expected, actual, message=nil)
diff = AssertionMessage.delayed_diff(expected, actual)
if expected.respond_to?(:encoding) and
actual.respond_to?(:encoding) and
expected.encoding != actual.encoding
format = "<?>(?) expected but was\n<?>(?).?\n"
full_message = build_message(message, format,
expected, expected.encoding.name,
actual, actual.encoding.name,
diff)
else
full_message = build_message(message, "<?> expected but was\n<?>.?\n", expected, actual, diff)
end
begin
assert_block(full_message) { expected == actual }
rescue AssertionFailedError => failure
failure.expected = expected
failure.actual = actual
failure.inspected_expected = AssertionMessage.convert(expected)
failure.inspected_actual = AssertionMessage.convert(actual)
failure.user_message = message
raise failure
end
end