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.internal.verification;
7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.verification.VerificationMode;
9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class VerificationModeFactory {
11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static VerificationMode atLeastOnce() {
13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return atLeast(1);
14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static VerificationMode atLeast(int minNumberOfInvocations) {
17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return new AtLeast(minNumberOfInvocations);
18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static VerificationMode only() {
21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return new Only(); //TODO make exception message nicer
22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static Times times(int wantedNumberOfInvocations) {
25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return new Times(wantedNumberOfInvocations);
26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
28e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static Calls calls(int wantedNumberOfInvocations) {
29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return new Calls( wantedNumberOfInvocations );
30e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
31e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
32e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static NoMoreInteractions noMoreInteractions() {
33e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return new NoMoreInteractions();
34e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
35e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
36e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static VerificationMode atMost(int maxNumberOfInvocations) {
37e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return new AtMost(maxNumberOfInvocations);
38e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
39e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson}