1e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson/* 2e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * Copyright (c) 2007 Mockito contributors 3e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * This program is made available under the terms of the MIT License. 4e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */ 5e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 6e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpackage org.mockito.internal.matchers; 7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport java.io.Serializable; 9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.hamcrest.Description; 11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.hamcrest.Matcher; 12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.ArgumentMatcher; 13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson@SuppressWarnings("unchecked") 15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class Not extends ArgumentMatcher implements Serializable { 16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson private static final long serialVersionUID = 4627373642333593264L; 18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson private final Matcher first; 19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public Not(Matcher first) { 21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson this.first = first; 22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public boolean matches(Object actual) { 25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return !first.matches(actual); 26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 28e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public void describeTo(Description description) { 29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson description.appendText("not("); 30e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson first.describeTo(description); 31e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson description.appendText(")"); 32e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 33e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson}