Class Not

    • Constructor Summary

      Constructors 
      Constructor Description
      Not​(ArgumentMatcher<?> matcher)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean matches​(java.lang.Object actual)
      Informs if this matcher accepts the given argument.
      java.lang.String toString()  
      java.lang.Class<?> type()
      The type of the argument this matcher matches.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • matches

        public boolean matches​(java.lang.Object actual)
        Description copied from interface: ArgumentMatcher
        Informs if this matcher accepts the given argument.

        The method should never assert if the argument doesn't match. It should only return false.

        See the example in the top level javadoc for ArgumentMatcher

        Specified by:
        matches in interface ArgumentMatcher<java.lang.Object>
        Parameters:
        actual - the argument
        Returns:
        true if this matcher accepts the given argument.
      • type

        public java.lang.Class<?> type()
        Description copied from interface: ArgumentMatcher
        The type of the argument this matcher matches.

        This method is used to differentiate between a matcher used to match a raw vararg array parameter from a matcher used to match a single value passed as a vararg parameter.

        Where the matcher:

        • is at the parameter index of a vararg parameter
        • is the last matcher passed
        • this method returns a type assignable to the vararg parameter's raw type, i.e. its array type.
        ...then the matcher is matched against the raw vararg parameter, rather than the first element of the raw parameter.

        For example:

        
          // Given vararg method with signature:
          int someVarargMethod(String... args);
        
          // The following will match invocations with any number of parameters, i.e. any number of elements in the raw array.
          mock.someVarargMethod(isA(String[].class));
        
          // The following will match invocations with a single parameter, i.e. one string in the raw array.
          mock.someVarargMethod(isA(String.class));
        
          // The following will match invocations with two parameters, i.e. two strings in the raw array
          mock.someVarargMethod(isA(String.class), isA(String.class));
         

        Only matcher implementations that can conceptually match a raw vararg parameter should override this method.

        Specified by:
        type in interface ArgumentMatcher<java.lang.Object>
        Returns:
        the type this matcher handles. The default value of Void means the type is not known.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object