class RuboCop::Cop::Minitest::AssertEqual
assert_equal(“rubocop-minitest”, actual)
# good
assert(“rubocop-minitest” == actual)
# bad
@example
over ‘assert(expected == actual)`.
This cop enforces the use of `assert_equal(expected, actual)`
def autocorrect(node)
def autocorrect(node) lambda do |corrector| assert_equal(node) do |_receiver, expected, actual, rest_receiver_arg| message = rest_receiver_arg.first replacement = node_arguments(expected, actual, message) corrector.replace(node.loc.expression, "assert_equal(#{replacement})") end end end
def node_arguments(expected, actual, message)
def node_arguments(expected, actual, message) [expected.source, actual.source, message&.source].compact.join(', ') end
def on_send(node)
def on_send(node) assert_equal(node) do |first_receiver_arg, expected, actual, rest_receiver_arg| message = rest_receiver_arg.first preferred = [expected.source, actual.source, message&.source] .compact.join(', ') over = [first_receiver_arg.source, message&.source].compact.join(', ') offense_message = format(MSG, preferred: preferred, over: over) add_offense(node, message: offense_message) end end