| package org.mockito.internal.verification; |
| |
| import org.junit.Before; |
| import org.junit.Rule; |
| import org.junit.Test; |
| import org.junit.rules.ExpectedException; |
| import org.mockito.Mock; |
| import org.mockito.exceptions.base.MockitoAssertionError; |
| import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent; |
| import org.mockito.verification.VerificationMode; |
| |
| import static org.hamcrest.CoreMatchers.is; |
| import static org.mockito.Mockito.doThrow; |
| import static org.mockito.Mockito.verify; |
| import static org.mockito.MockitoAnnotations.initMocks; |
| |
| public class VerificationOverTimeImplTest { |
| @Mock |
| private VerificationMode delegate; |
| private VerificationOverTimeImpl impl; |
| |
| @Rule |
| public ExpectedException exception = ExpectedException.none(); |
| |
| @Before |
| public void setUp() { |
| initMocks(this); |
| impl = new VerificationOverTimeImpl(10, 1000, delegate, true); |
| } |
| |
| @Test |
| public void should_return_on_success() { |
| impl.verify(null); |
| verify(delegate).verify(null); |
| } |
| |
| @Test |
| public void should_throw_mockito_assertion_error() { |
| MockitoAssertionError toBeThrown = new MockitoAssertionError("message"); |
| exception.expect(is(toBeThrown)); |
| |
| doThrow(toBeThrown).when(delegate).verify(null); |
| impl.verify(null); |
| } |
| |
| @Test |
| public void should_deal_with_junit_assertion_error() { |
| ArgumentsAreDifferent toBeThrown = new ArgumentsAreDifferent("message", "wanted", "actual"); |
| exception.expect(is(toBeThrown)); |
| exception.expectMessage("message"); |
| |
| doThrow(toBeThrown).when(delegate).verify(null); |
| impl.verify(null); |
| } |
| |
| @Test |
| public void should_not_wrap_other_exceptions() { |
| RuntimeException toBeThrown = new RuntimeException(); |
| exception.expect(is(toBeThrown)); |
| |
| doThrow(toBeThrown).when(delegate).verify(null); |
| impl.verify(null); |
| } |
| } |