• 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 
6 package org.mockito.verification;
7 
8 import org.mockito.Mockito;
9 
10 
11 /**
12  * VerificationAfterDelay is a {@link VerificationMode} that allows combining existing verification modes with an initial delay, e.g.
13  * <pre class="code"><code class="java">
14  * verify(mock, after(100).atMost(5)).foo();
15  *
16  * verify(mock, after(100).never()).bar();
17  *
18  * verify(mock, after(200).atLeastOnce()).baz();
19  * </code></pre>
20  *
21  * This is similar to {@link VerificationWithTimeout timeout()} except the assertion will not terminate until either the condition is
22  * definitively failed, or the full time has elapsed (whereas timeout() will also stop if the conditions is true at any point, as is
23  * typically the case with never() etc initially).
24  *
25  * <p>
26  * See examples in javadoc for {@link Mockito#verify(Object, VerificationMode)}
27  *
28  */
29 public interface VerificationAfterDelay extends VerificationMode {
30 
31     /**
32      * Verifies that there are exactly N invocations during the given period. This will wait the full period given.
33      */
times(int wantedNumberOfInvocations)34     VerificationMode times(int wantedNumberOfInvocations);
35 
36     /**
37      * Allows verification that there are no invocations at any point during the given period. This will wait the
38      * full period given, unless an invocation occurs (in which case there will be immediate failure)
39      */
never()40     VerificationMode never();
41 
42     /**
43      * Verifies that there is at least 1 invocation during the given period. This will wait the full period given.
44      */
atLeastOnce()45     VerificationMode atLeastOnce();
46 
47     /**
48      * Verifies that there is are least N invocations during the given period. This will wait the full period given.
49      */
atLeast(int minNumberOfInvocations)50     VerificationMode atLeast(int minNumberOfInvocations);
51 
52     /**
53      * Verifies that there is are most N invocations during the given period. This will wait the full period given,
54      * unless too many invocations occur (in which case there will be an immediate failure)
55      */
atMost(int maxNumberOfInvocations)56     VerificationMode atMost(int maxNumberOfInvocations);
57 
58     /**
59      * Verifies that there the given method is invoked and is the only method invoked. This will wait the full
60      * period given, unless another method is invoked (in which case there will be an immediate failure)
61      */
only()62     VerificationMode only();
63 
64 }
65