public static <T> MockHandler<T> createMockHandler(MockCreationSettings<T> settings) { MockHandler<T> handler = new MockHandlerImpl<T>(settings); MockHandler<T> nullResultGuardian = new NullResultGuardian<T>(handler); return new InvocationNotifierHandler<T>(nullResultGuardian, settings); } }
public Object handle(Invocation invocation) throws Throwable { try { Object returnedValue = mockHandler.handle(invocation); notifyMethodCall(invocation, returnedValue); return returnedValue; } catch (Throwable t){ notifyMethodCallException(invocation, t); throw t; } }
private void notifyMethodCallException(Invocation invocation, Throwable exception) { for (InvocationListener listener : invocationListeners) { try { listener.reportInvocation(new NotifiedMethodInvocationReport(invocation, exception)); } catch(Throwable listenerThrowable) { throw invocationListenerThrewException(listener, listenerThrowable); } } }
public <T> void resetMock(T mock) { InternalMockHandler oldHandler = (InternalMockHandler) getMockHandler(mock); MockCreationSettings settings = oldHandler.getMockSettings(); MockHandler newHandler = new MockHandlerFactory().create(settings); mockMaker.resetMock(mock, newHandler, settings); }
public static <T> void resetMock(T mock) { MockHandler oldHandler = getMockHandler(mock); MockCreationSettings settings = oldHandler.getMockSettings(); MockHandler newHandler = createMockHandler(settings); mockMaker.resetMock(mock, newHandler, settings); }
public InternalMockHandler create(MockCreationSettings settings) { InternalMockHandler handler = new MockHandlerImpl(settings); InternalMockHandler nullResultGuardian = new NullResultGuardian(handler); InternalMockHandler notifier = new InvocationNotifierHandler(nullResultGuardian, settings); return notifier; } }
public <T> T createMock(MockCreationSettings<T> settings) { MockHandler mockHandler = new MockHandlerFactory().create(settings); T mock = mockMaker.createMock(settings, mockHandler); Object spiedInstance = settings.getSpiedInstance(); if (spiedInstance != null) { new LenientCopyTool().copyToMock(spiedInstance, mock); } return mock; }
public Object handle(Invocation invocation) throws Throwable { try { Object returnedValue = mockHandler.handle(invocation); notifyMethodCall(invocation, returnedValue); return returnedValue; } catch (Throwable t){ notifyMethodCallException(invocation, t); throw t; } }
private void notifyMethodCall(Invocation invocation, Object returnValue) { for (InvocationListener listener : invocationListeners) { try { listener.reportInvocation(new NotifiedMethodInvocationReport(invocation, returnValue)); } catch(Throwable listenerThrowable) { throw invocationListenerThrewException(listener, listenerThrowable); } } }
public static <T> T createMock(MockCreationSettings<T> settings) { MockHandler mockHandler = createMockHandler(settings); T mock = mockMaker.createMock(settings, mockHandler); Object spiedInstance = settings.getSpiedInstance(); if (spiedInstance != null) { new LenientCopyTool().copyToMock(spiedInstance, mock); } return mock; }
settings.setTypeToMock(type); InternalMockHandler mockHandler = new MockHandlerFactory().create(settings); MethodInterceptorFilter filter = new PowerMockMethodInterceptorFilter(mockHandler, settings); final T mock = new ClassImposterizer(new InstantiatorProvider().getInstantiator(settings)).imposterise(filter, type);