| /* |
| * Copyright (c) 2007 Mockito contributors |
| * This program is made available under the terms of the MIT License. |
| */ |
| package org.mockito.internal.invocation; |
| |
| import org.junit.Test; |
| import org.mockito.internal.verification.InOrderContextImpl; |
| import org.mockito.invocation.Invocation; |
| import org.mockito.invocation.MatchableInvocation; |
| import org.mockitoutil.TestBase; |
| |
| import java.util.Arrays; |
| import java.util.concurrent.atomic.AtomicReference; |
| |
| import static junit.framework.TestCase.*; |
| |
| public class InvocationMarkerTest extends TestBase { |
| |
| @Test |
| public void shouldMarkInvocationAsVerified() { |
| //given |
| Invocation i = new InvocationBuilder().toInvocation(); |
| InvocationMatcher im = new InvocationBuilder().toInvocationMatcher(); |
| assertFalse(i.isVerified()); |
| |
| //when |
| InvocationMarker.markVerified(Arrays.asList(i), im); |
| |
| //then |
| assertTrue(i.isVerified()); |
| } |
| |
| @Test |
| public void shouldCaptureArguments() { |
| //given |
| Invocation i = new InvocationBuilder().toInvocation(); |
| final AtomicReference<Invocation> box = new AtomicReference<Invocation>(); |
| MatchableInvocation c = new InvocationMatcher(i) { |
| public void captureArgumentsFrom(Invocation i) { |
| box.set(i); |
| }}; |
| |
| //when |
| InvocationMarker.markVerified(Arrays.asList(i), c); |
| |
| //then |
| assertEquals(i, box.get()); |
| } |
| |
| @Test |
| public void shouldMarkInvocationsAsVerifiedInOrder() { |
| //given |
| InOrderContextImpl context = new InOrderContextImpl(); |
| |
| Invocation i = new InvocationBuilder().toInvocation(); |
| InvocationMatcher im = new InvocationBuilder().toInvocationMatcher(); |
| assertFalse(context.isVerified(i)); |
| assertFalse(i.isVerified()); |
| |
| //when |
| InvocationMarker.markVerifiedInOrder(Arrays.asList(i), im, context); |
| |
| //then |
| assertTrue(context.isVerified(i)); |
| assertTrue(i.isVerified()); |
| } |
| } |