类org.mockito.invocation.MockHandler源码实例Demo

下面列出了怎么用org.mockito.invocation.MockHandler的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: astor   文件: CglibMockMaker.java
private InternalMockHandler cast(MockHandler handler) {
    if (!(handler instanceof InternalMockHandler)) {
        throw new MockitoException("At the moment you cannot provide own implementations of MockHandler." +
                "\nPlease see the javadocs for the MockMaker interface.");
    }
    return (InternalMockHandler) handler;
}
 
源代码2 项目: astor   文件: CglibMockMaker.java
public MockHandler getHandler(Object mock) {
    if (!(mock instanceof Factory)) {
        return null;
    }
    Factory factory = (Factory) mock;
    Callback callback = factory.getCallback(0);
    if (!(callback instanceof MethodInterceptorFilter)) {
        return null;
    }
    return ((MethodInterceptorFilter) callback).getHandler();
}
 
源代码3 项目: astor   文件: MockUtil.java
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;
}
 
源代码4 项目: astor   文件: MockUtil.java
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);
}
 
源代码5 项目: astor   文件: MockUtil.java
public <T> InternalMockHandler<T> getMockHandler(T mock) {
    if (mock == null) {
        throw new NotAMockException("Argument should be a mock, but is null!");
    }

    if (isMockitoMock(mock)) {
        MockHandler handler = mockMaker.getHandler(mock);
        return (InternalMockHandler) handler;
    } else {
        throw new NotAMockException("Argument should be a mock, but is: " + mock.getClass());
    }
}
 
源代码6 项目: dexmaker   文件: InlineDexmakerMockMaker.java
@Override
public void resetMock(Object mock, MockHandler newHandler, MockCreationSettings settings) {
    InvocationHandlerAdapter adapter = getInvocationHandlerAdapter(mock);
    if (adapter != null) {
        adapter.setHandler(newHandler);
    }
}
 
源代码7 项目: dexmaker   文件: MockMakerMultiplexer.java
@Override
public <T> T createMock(MockCreationSettings<T> settings, MockHandler handler) {
    for (MockMaker mockMaker : MOCK_MAKERS) {
        T mock = mockMaker.createMock(settings, handler);

        if (mock != null) {
            return mock;
        }
    }

    return null;
}
 
源代码8 项目: dexmaker   文件: MockMakerMultiplexer.java
@Override
public MockHandler getHandler(Object mock) {
    for (MockMaker mockMaker : MOCK_MAKERS) {
        MockHandler handler = mockMaker.getHandler(mock);

        if (handler != null) {
            return handler;
        }
    }

    return null;
}
 
源代码9 项目: dexmaker   文件: InlineStaticMockMaker.java
@Override
public <T> T createMock(MockCreationSettings<T> settings, MockHandler handler) {
    Class<T> typeToMock = settings.getTypeToMock();
    if (!typeToMock.equals(mockingInProgressClass.get()) || Modifier.isAbstract(typeToMock
            .getModifiers())) {
        return null;
    }

    Set<Class<?>> interfacesSet = settings.getExtraInterfaces();
    InvocationHandlerAdapter handlerAdapter = new InvocationHandlerAdapter(handler);

    classTransformer.mockClass(MockFeatures.withMockFeatures(typeToMock, interfacesSet));

    Instantiator instantiator = Mockito.framework().getPlugins().getDefaultPlugin
            (InstantiatorProvider2.class).getInstantiator(settings);

    T mock;
    try {
        mock = instantiator.newInstance(typeToMock);
    } catch (org.mockito.creation.instance.InstantiationException e) {
        throw new MockitoException("Unable to create mock instance of type '" + typeToMock
                .getSimpleName() + "'", e);
    }

    if (classToMarker.containsKey(typeToMock)) {
        throw new MockitoException(typeToMock + " is already mocked");
    }
    classToMarker.put(typeToMock, mock);

    markerToHandler.put(mock, handlerAdapter);
    return mock;
}
 
源代码10 项目: dexmaker   文件: InlineStaticMockMaker.java
@Override
public void resetMock(Object mock, MockHandler newHandler, MockCreationSettings settings) {
    InvocationHandlerAdapter adapter = getInvocationHandlerAdapter(mock);
    if (adapter != null) {
        if (mockingInProgressClass.get() == mock.getClass()) {
            markerToHandler.remove(mock);
            classToMarker.remove(mock.getClass());
        } else {
            adapter.setHandler(newHandler);
        }
    }
}
 
源代码11 项目: astor   文件: MethodInterceptorFilter.java
public MockHandler getHandler() {
    return handler;
}
 
源代码12 项目: astor   文件: CglibMockMaker.java
public <T> T createMock(MockCreationSettings<T> settings, MockHandler handler) {
    InternalMockHandler mockitoHandler = cast(handler);
    new AcrossJVMSerializationFeature().enableSerializationAcrossJVM(settings);
    return ClassImposterizer.INSTANCE.imposterise(
            new MethodInterceptorFilter(mockitoHandler, settings), settings.getTypeToMock(), settings.getExtraInterfaces());
}
 
源代码13 项目: astor   文件: CglibMockMaker.java
public void resetMock(Object mock, MockHandler newHandler, MockCreationSettings settings) {
    ((Factory) mock).setCallback(0, new MethodInterceptorFilter(cast(newHandler), settings));
}
 
源代码14 项目: j2objc   文件: InvocationHandlerAdapter.java
public InvocationHandlerAdapter(MockHandler handler) {
  this.handler = handler;
}
 
源代码15 项目: j2objc   文件: InvocationHandlerAdapter.java
public MockHandler getHandler() {
  return handler;
}
 
源代码16 项目: j2objc   文件: InvocationHandlerAdapter.java
public void setHandler(MockHandler handler) {
  this.handler = handler;
}
 
源代码17 项目: j2objc   文件: IosMockMaker.java
@Override
public MockHandler getHandler(Object mock) {
  InvocationHandlerAdapter adapter = getInvocationHandlerAdapter(mock);
  return adapter != null ? adapter.getHandler() : null;
}
 
源代码18 项目: j2objc   文件: IosMockMaker.java
@Override
@SuppressWarnings("rawtypes")
public void resetMock(Object mock, MockHandler newHandler, MockCreationSettings settings) {
  InvocationHandlerAdapter adapter = getInvocationHandlerAdapter(mock);
  adapter.setHandler(newHandler);
}
 
源代码19 项目: dexmaker   文件: InvocationHandlerAdapter.java
public InvocationHandlerAdapter(MockHandler handler) {
    this.handler = handler;
}
 
源代码20 项目: dexmaker   文件: InvocationHandlerAdapter.java
public MockHandler getHandler() {
    return handler;
}
 
源代码21 项目: dexmaker   文件: InvocationHandlerAdapter.java
public void setHandler(MockHandler handler) {
    this.handler = handler;
}
 
源代码22 项目: dexmaker   文件: DexmakerMockMaker.java
@Override
public void resetMock(Object mock, MockHandler newHandler, MockCreationSettings settings) {
    InvocationHandlerAdapter adapter = getInvocationHandlerAdapter(mock);
    adapter.setHandler(newHandler);
}
 
源代码23 项目: dexmaker   文件: DexmakerMockMaker.java
@Override
public MockHandler getHandler(Object mock) {
    InvocationHandlerAdapter adapter = getInvocationHandlerAdapter(mock);
    return adapter != null ? adapter.getHandler() : null;
}
 
源代码24 项目: dexmaker   文件: InvocationHandlerAdapter.java
InvocationHandlerAdapter(MockHandler handler) {
    this.handler = handler;
}
 
源代码25 项目: dexmaker   文件: InvocationHandlerAdapter.java
/**
 * Set a new handler for this adapter.
 */
void setHandler(MockHandler handler) {
    this.handler = handler;
}
 
源代码26 项目: dexmaker   文件: InlineDexmakerMockMaker.java
@Override
public MockHandler getHandler(Object mock) {
    InvocationHandlerAdapter adapter = getInvocationHandlerAdapter(mock);
    return adapter != null ? adapter.getHandler() : null;
}
 
源代码27 项目: dexmaker   文件: MockMakerMultiplexer.java
@Override
public void resetMock(Object mock, MockHandler newHandler, MockCreationSettings settings) {
    for (MockMaker mockMaker : MOCK_MAKERS) {
        mockMaker.resetMock(mock, newHandler, settings);
    }
}
 
源代码28 项目: dexmaker   文件: InlineStaticMockMaker.java
@Override
public MockHandler getHandler(Object mock) {
    InvocationHandlerAdapter adapter = getInvocationHandlerAdapter(mock);
    return adapter != null ? adapter.getHandler() : null;
}
 
源代码29 项目: astor   文件: MockMaker.java
/**
 * If you want to provide your own implementation of {@code MockMaker} this method should:
 * <ul>
 *     <li>Create a proxy object that implements {@code settings.typeToMock} and potentially also {@code settings.extraInterfaces}.</li>
 *     <li>You may use the information from {@code settings} to create/configure your proxy object.</li>
 *     <li>Your proxy object should carry the {@code handler} with it. For example, if you generate byte code
 *     to create the proxy you could generate an extra field to keep the {@code handler} with the generated object.
 *     Your implementation of {@code MockMaker} is required to provide this instance of {@code handler} when
 *     {@link #getHandler(Object)} is called.
 *     </li>
 * </ul>
 *
 * @param settings - mock creation settings like type to mock, extra interfaces and so on.
 * @param handler See {@link org.mockito.invocation.MockHandler}.
 *                <b>Do not</b> provide your own implementation at this time. Make sure your implementation of
 *                {@link #getHandler(Object)} will return this instance.
 * @param <T> Type of the mock to return, actually the <code>settings.getTypeToMock</code>.
 * @return The mock instance.
 * @since 1.9.5
 */
<T> T createMock(
        MockCreationSettings<T> settings,
        MockHandler handler
);
 
源代码30 项目: astor   文件: MockMaker.java
/**
 * Returns the handler for the {@code mock}. <b>Do not</b> provide your own implementations at this time
 * because the work on the {@link MockHandler} api is not completed.
 * Use the instance provided to you by Mockito at {@link #createMock} or {@link #resetMock}.
 *
 * @param mock The mock instance.
 * @return may return null - it means that there is no handler attached to provided object.
 *   This means the passed object is not really a Mockito mock.
 * @since 1.9.5
 */
MockHandler getHandler(Object mock);
 
 类所在包
 同包方法