Java 类org.mockito.internal.invocation.MockitoMethod 实例源码

项目:mockito-cglib    文件:MethodInterceptorFilter.java   
public Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy)
        throws Throwable {
    if (objectMethodsGuru.isEqualsMethod(method)) {
        return proxy == args[0];
    } else if (objectMethodsGuru.isHashCodeMethod(method)) {
        return hashCodeForMock(proxy);
    } else if (acrossJVMSerializationFeature.isWriteReplace(method)) {
        return acrossJVMSerializationFeature.writeReplace(proxy);
    }

    MockitoMethodProxy mockitoMethodProxy = createMockitoMethodProxy(methodProxy);
    new CGLIBHacker().setMockitoNamingPolicy(methodProxy);

    MockitoMethod mockitoMethod = createMockitoMethod(method);

    CleanTraceRealMethod realMethod = new CleanTraceRealMethod(mockitoMethodProxy);
    Invocation invocation = new InvocationImpl(proxy, mockitoMethod, args, SequenceNumber.next(), realMethod);
    return handler.handle(invocation);
}
项目:astor    文件:MethodInterceptorFilter.java   
public Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy)
        throws Throwable {
    if (objectMethodsGuru.isEqualsMethod(method)) {
        return proxy == args[0];
    } else if (objectMethodsGuru.isHashCodeMethod(method)) {
        return hashCodeForMock(proxy);
    } else if (acrossJVMSerializationFeature.isWriteReplace(method)) {
        return acrossJVMSerializationFeature.writeReplace(proxy);
    }

    MockitoMethodProxy mockitoMethodProxy = createMockitoMethodProxy(methodProxy);
    cglibHacker.setMockitoNamingPolicy(mockitoMethodProxy);

    MockitoMethod mockitoMethod = createMockitoMethod(method);

    FilteredCGLIBProxyRealMethod realMethod = new FilteredCGLIBProxyRealMethod(mockitoMethodProxy);
    Invocation invocation = new InvocationImpl(proxy, mockitoMethod, args, SequenceNumber.next(), realMethod);
    return handler.handle(invocation);
}
项目:mockito-cglib    文件:MethodInterceptorFilter.java   
public MockitoMethod createMockitoMethod(Method method) {
    if (mockSettings.isSerializable()) {
        return new SerializableMethod(method);
    } else {
        return new DelegatingMethod(method);
    }
}
项目:mockito-cglib    文件:MethodInterceptorFilterTest.java   
@Test
public void shouldCreateSerializableMethodIfIsSerializableMock() throws Exception {
    MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings().serializable());
    Method method = new InvocationBuilder().toInvocation().getMethod();

    // when
    MockitoMethod mockitoMethod = filter.createMockitoMethod(method);

    // then
    assertThat(mockitoMethod, instanceOf(SerializableMethod.class));
}
项目:mockito-cglib    文件:MethodInterceptorFilterTest.java   
@Test
public void shouldCreateJustDelegatingMethodIfIsNotSerializableMock() throws Exception {
    MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings());
    Method method = new InvocationBuilder().toInvocation().getMethod();

    // when
    MockitoMethod mockitoMethod = filter.createMockitoMethod(method);

    // then
    assertThat(mockitoMethod, instanceOf(DelegatingMethod.class));
}
项目:astor    文件:MethodInterceptorFilterTest.java   
@Test
public void shouldCreateSerializableMethodIfIsSerializableMock() throws Exception {
    MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings().serializable());
    Method method = new InvocationBuilder().toInvocation().getMethod();

    // when
    MockitoMethod mockitoMethod = filter.createMockitoMethod(method);

    // then
    assertThat(mockitoMethod, instanceOf(SerializableMethod.class));
}
项目:astor    文件:MethodInterceptorFilterTest.java   
@Test
public void shouldCreateJustDelegatingMethodIfIsNotSerializableMock() throws Exception {
    MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings());
    Method method = new InvocationBuilder().toInvocation().getMethod();

    // when
    MockitoMethod mockitoMethod = filter.createMockitoMethod(method);

    // then
    assertThat(mockitoMethod, instanceOf(DelegatingMethod.class));
}
项目:astor    文件:MethodInterceptorFilter.java   
public MockitoMethod createMockitoMethod(Method method) {
    if (mockSettings.isSerializable()) {
        return new SerializableMethod(method);
    } else {
        return new DelegatingMethod(method); 
    }
}
项目:astor    文件:MethodInterceptorFilterTest.java   
@Test
public void shouldCreateSerializableMethodIfIsSerializableMock() throws Exception {
    MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings().serializable());
    Method method = new InvocationBuilder().toInvocation().getMethod();

    // when
    MockitoMethod mockitoMethod = filter.createMockitoMethod(method);

    // then
    assertThat(mockitoMethod, instanceOf(SerializableMethod.class));
}
项目:astor    文件:MethodInterceptorFilterTest.java   
@Test
public void shouldCreateJustDelegatingMethodIfIsNotSerializableMock() throws Exception {
    MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings());
    Method method = new InvocationBuilder().toInvocation().getMethod();

    // when
    MockitoMethod mockitoMethod = filter.createMockitoMethod(method);

    // then
    assertThat(mockitoMethod, instanceOf(DelegatingMethod.class));
}
项目:dexmaker    文件:InterceptedInvocation.java   
/**
 * Create a new invocation.
 *
 * @param mock mocked instance
 * @param method method invoked
 * @param arguments arguments to the method
 * @param superMethod super method
 * @param sequenceNumber sequence number of the invocation
 */
InterceptedInvocation(Object mock, MockitoMethod method, Object[] arguments,
                      SuperMethod superMethod, int sequenceNumber) {
    this.mock = mock;
    this.method = method;
    this.arguments = ArgumentsProcessor.expandArgs(method, arguments);
    this.rawArguments = arguments;
    this.superMethod = superMethod;
    this.sequenceNumber = sequenceNumber;
    location = new LocationImpl();
}
项目:dexmaker    文件:InterceptedInvocation.java   
/**
 * Create a new invocation.
 *
 * @param mock mocked instance
 * @param method method invoked
 * @param arguments arguments to the method
 * @param superMethod super method
 * @param sequenceNumber sequence number of the invocation
 */
InterceptedInvocation(Object mock, MockitoMethod method, Object[] arguments,
                      SuperMethod superMethod, int sequenceNumber) {
    this.mock = mock;
    this.method = method;
    this.arguments = ArgumentsProcessor.expandArgs(method, arguments);
    this.rawArguments = arguments;
    this.superMethod = superMethod;
    this.sequenceNumber = sequenceNumber;
    location = new LocationImpl();
}
项目:astor    文件:ObjectMethodsGuru.java   
public boolean isToString(MockitoMethod method) {
    return method.getReturnType() == String.class && method.getParameterTypes().length == 0
            && method.getName().equals("toString");
}
项目:astor    文件:ObjectMethodsGuru.java   
public boolean isToString(MockitoMethod method) {
    return method.getReturnType() == String.class
            && method.getParameterTypes().length == 0
            && method.getName().equals("toString");
}