• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2007 Mockito contributors
3  * This program is made available under the terms of the MIT License.
4  */
5 package org.mockito.internal.verification;
6 
7 import static org.mockito.internal.exceptions.Reporter.noMoreInteractionsWanted;
8 import static org.mockito.internal.exceptions.Reporter.noMoreInteractionsWantedInOrder;
9 import static org.mockito.internal.invocation.InvocationsFinder.findFirstUnverified;
10 import static org.mockito.internal.invocation.InvocationsFinder.findFirstUnverifiedInOrder;
11 
12 import java.util.List;
13 
14 import org.mockito.internal.verification.api.VerificationData;
15 import org.mockito.internal.verification.api.VerificationDataInOrder;
16 import org.mockito.internal.verification.api.VerificationInOrderMode;
17 import org.mockito.invocation.Invocation;
18 import org.mockito.verification.VerificationMode;
19 
20 public class NoMoreInteractions implements VerificationMode, VerificationInOrderMode {
21 
22     @Override
23     @SuppressWarnings("unchecked")
verify(VerificationData data)24     public void verify(VerificationData data) {
25         Invocation unverified = findFirstUnverified(data.getAllInvocations());
26         if (unverified != null) {
27             throw noMoreInteractionsWanted(unverified, (List) data.getAllInvocations());
28         }
29     }
30 
31     @Override
verifyInOrder(VerificationDataInOrder data)32     public void verifyInOrder(VerificationDataInOrder data) {
33         List<Invocation> invocations = data.getAllInvocations();
34         Invocation unverified = findFirstUnverifiedInOrder(data.getOrderingContext(), invocations);
35 
36         if (unverified != null) {
37             throw noMoreInteractionsWantedInOrder(unverified);
38         }
39     }
40 }
41