• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2016 Mockito contributors
3  * This program is made available under the terms of the MIT License.
4  */
5 package org.mockito.internal.framework;
6 
7 import org.mockito.MockitoFramework;
8 import org.mockito.internal.configuration.plugins.Plugins;
9 import org.mockito.internal.invocation.DefaultInvocationFactory;
10 import org.mockito.internal.util.Checks;
11 import org.mockito.invocation.InvocationFactory;
12 import org.mockito.listeners.MockitoListener;
13 import org.mockito.plugins.InlineMockMaker;
14 import org.mockito.plugins.MockMaker;
15 import org.mockito.plugins.MockitoPlugins;
16 
17 import static org.mockito.internal.progress.ThreadSafeMockingProgress.mockingProgress;
18 
19 public class DefaultMockitoFramework implements MockitoFramework {
20 
addListener(MockitoListener listener)21     public MockitoFramework addListener(MockitoListener listener) {
22         Checks.checkNotNull(listener, "listener");
23         mockingProgress().addListener(listener);
24         return this;
25     }
26 
removeListener(MockitoListener listener)27     public MockitoFramework removeListener(MockitoListener listener) {
28         Checks.checkNotNull(listener, "listener");
29         mockingProgress().removeListener(listener);
30         return this;
31     }
32 
33     @Override
getPlugins()34     public MockitoPlugins getPlugins() {
35         return Plugins.getPlugins();
36     }
37 
38     @Override
getInvocationFactory()39     public InvocationFactory getInvocationFactory() {
40         return new DefaultInvocationFactory();
41     }
42 
getInlineMockMaker()43     private InlineMockMaker getInlineMockMaker() {
44         MockMaker mockMaker = Plugins.getMockMaker();
45         return (mockMaker instanceof InlineMockMaker) ? (InlineMockMaker) mockMaker : null;
46     }
47 
48     @Override
clearInlineMocks()49     public void clearInlineMocks() {
50         InlineMockMaker mockMaker = getInlineMockMaker();
51         if (mockMaker != null) {
52             mockMaker.clearAllMocks();
53         }
54     }
55 
56     @Override
clearInlineMock(Object mock)57     public void clearInlineMock(Object mock) {
58         InlineMockMaker mockMaker = getInlineMockMaker();
59         if (mockMaker != null) {
60             mockMaker.clearMock(mock);
61         }
62     }
63 }
64