1/*
2 * Copyright (c) 2007 Mockito contributors
3 * This program is made available under the terms of the MIT License.
4 */
5
6package org.mockito.internal.progress;
7
8import org.mockito.MockSettings;
9import org.mockito.internal.listeners.MockingProgressListener;
10import org.mockito.invocation.Invocation;
11import org.mockito.verification.VerificationMode;
12
13@SuppressWarnings("unchecked")
14public interface MockingProgress {
15
16    void reportOngoingStubbing(IOngoingStubbing iOngoingStubbing);
17
18    IOngoingStubbing pullOngoingStubbing();
19
20    void verificationStarted(VerificationMode verificationMode);
21
22    VerificationMode pullVerificationMode();
23
24    void stubbingStarted();
25
26    void stubbingCompleted(Invocation invocation);
27
28    void validateState();
29
30    void reset();
31
32    /**
33     * Removes ongoing stubbing so that in case the framework is misused
34     * state validation errors are more accurate
35     */
36    void resetOngoingStubbing();
37
38    ArgumentMatcherStorage getArgumentMatcherStorage();
39
40    void mockingStarted(Object mock, Class classToMock);
41
42    void setListener(MockingProgressListener listener);
43}