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.base;
7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.exceptions.stacktrace.ConditionalStackTraceFilter;
9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class MockitoAssertionError extends AssertionError {
13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    private static final long serialVersionUID = 1L;
15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    private StackTraceElement[] unfilteredStackTrace;
16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public MockitoAssertionError(String message) {
18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        super(message);
19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        unfilteredStackTrace = getStackTrace();
21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        ConditionalStackTraceFilter filter = new ConditionalStackTraceFilter();
23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        filter.filter(this);
24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public StackTraceElement[] getUnfilteredStackTrace() {
27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return unfilteredStackTrace;
28e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson}