def assert_raise(*args, &block)
assert_expected_exception = Proc.new do |*_args|
message, assert_exception_helper, actual_exception = _args
expected = assert_exception_helper.expected_exceptions
diff = AssertionMessage.delayed_diff(expected, actual_exception)
full_message = build_message(message,
"<?> exception expected but was\n<?>.?",
expected, actual_exception, diff)
begin
assert_block(full_message) do
expected == [] or
assert_exception_helper.expected?(actual_exception)
end
rescue AssertionFailedError => failure
_set_failed_information(failure, expected, actual_exception,
message)
raise failure
end
end
_assert_raise(assert_expected_exception, *args, &block)
end