## Why is this an issue?

Mockito provides argument matchers for flexibly stubbing or verifying method calls.

`Mockito.verify()`, `Mockito.when()`, `Stubber.when()` and `BDDMockito.given()` each have overloads with and without argument matchers.

However, the default matching behavior (i.e. without argument matchers) uses `equals()`. If only the matcher `org.mockito.ArgumentMatchers.eq()` is used, the call is equivalent to the call without matchers, i.e. the `eq()` is not necessary and can be omitted. The resulting code is shorter and easier to read.

### Noncompliant code example

    @Test
    public void myTest() {
      given(foo.bar(eq(v1), eq(v2), eq(v3))).willReturn(null);   // Noncompliant
      when(foo.baz(eq(v4), eq(v5))).thenReturn("foo");   // Noncompliant
      doThrow(new RuntimeException()).when(foo).quux(eq(42));    // Noncompliant
      verify(foo).bar(eq(v1), eq(v2), eq(v3));   // Noncompliant
    }

### Compliant solution

    @Test
    public void myTest() {
      given(foo.bar(v1, v2, v3)).willReturn(null);
      when(foo.baz(v4, v5)).thenReturn("foo");
      doThrow(new RuntimeException()).when(foo).quux(42);
      verify(foo).bar(v1, v2, v3);
    }

## Resources

- Mockito documentation - argument matchers
- {rule:java:S6073} - Mockito argument matchers should be used on all parameters