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.exceptions.verification.junit; 7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 82637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport static org.mockito.internal.util.StringUtil.removeFirstLine; 92637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport junit.framework.ComparisonFailure; 11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.exceptions.stacktrace.ConditionalStackTraceFilter; 12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class ArgumentsAreDifferent extends ComparisonFailure { 152637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson private static final long serialVersionUID = 1L; 17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson private final String message; 18e03a0f42b85425bffd40bcf790819671a7848c1aPaul Duffin private final StackTraceElement[] unfilteredStackTrace; 19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public ArgumentsAreDifferent(String message, String wanted, String actual) { 21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson super(message, wanted, actual); 22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson this.message = message; 232637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson unfilteredStackTrace = getStackTrace(); 25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson ConditionalStackTraceFilter filter = new ConditionalStackTraceFilter(); 26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson filter.filter(this); 27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 282637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson @Override 30e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public String getMessage() { 31e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return message; 32e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 332637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 34e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public StackTraceElement[] getUnfilteredStackTrace() { 35e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return unfilteredStackTrace; 36e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 372637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 38e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson @Override 39e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public String toString() { 402637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin return removeFirstLine(super.toString()); 41e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 422637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin} 43