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.verification;
7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.Mockito;
9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.verification.api.VerificationData;
10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson/**
12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * Allows verifying that certain behavior happened at least once / exact number
13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * of times / never. E.g:
14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * <pre class="code"><code class="java">
16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * verify(mock, times(5)).someMethod(&quot;was called five times&quot;);
17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * verify(mock, never()).someMethod(&quot;was never called&quot;);
19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * verify(mock, atLeastOnce()).someMethod(&quot;was called at least once&quot;);
21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * verify(mock, atLeast(2)).someMethod(&quot;was called at least twice&quot;);
23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * verify(mock, atMost(3)).someMethod(&quot;was called at most 3 times&quot;);
25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * </code></pre>
27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
28e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * <b>times(1) is the default</b> and can be omitted
29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * <p>
30e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * See examples in javadoc for {@link Mockito#verify(Object, VerificationMode)}
31e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */
32e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic interface VerificationMode {
33e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
34e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    void verify(VerificationData data);
35e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
36e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson}