class RuboCop::Cop::Minitest::RefuteEqual


refute_equal(“rubocop-minitest”, actual)
# good
refute_operator(“rubocop-minitest”, :==, actual)
assert_operator(“rubocop-minitest”, :!=, actual)
refute(“rubocop-minitest” == actual)
assert(“rubocop-minitest” != actual)
# bad
@example
over ‘assert(expected != actual)` or `assert(! expected == actual)`.
Enforces the use of `refute_equal(expected, object)`

def on_send(node)

rubocop:disable Metrics/AbcSize
def on_send(node)
  refute_equal(node) do |expected, actual, rest_args|
    basic_arguments = "#{expected.source}, #{actual.source}"
    preferred = (message_arg = rest_args.first) ? "#{basic_arguments}, #{message_arg.source}" : basic_arguments
    message = format(MSG, preferred: preferred)
    add_offense(node, message: message) do |corrector|
      corrector.replace(node.loc.selector, 'refute_equal')
      range = if node.method?(:assert) || node.method?(:refute)
                node.first_argument
              else
                node.first_argument.source_range.begin.join(node.arguments[2].source_range.end)
              end
      corrector.replace(range, basic_arguments)
    end
  end
end