项目:guava-mock
文件:ForwardingObjectTester.java
/**
* Ensures that all interface methods of {@code forwarderClass} are forwarded to the
* {@link ForwardingObject#delegate}. {@code forwarderClass} is assumed to only implement one
* interface.
*/
static <T extends ForwardingObject> void testForwardingObject(final Class<T> forwarderClass) {
@SuppressWarnings("unchecked") // super interface type of T
Class<? super T> interfaceType = (Class<? super T>)
Iterables.getOnlyElement(Arrays.asList(forwarderClass.getInterfaces()));
new ForwardingWrapperTester()
.testForwarding(
interfaceType,new Function<Object,T>() {
@Override
public T apply(Object delegate) {
T mock = mock(forwarderClass,CALLS_REAL_METHODS.get());
try {
T stubber = doReturn(delegate).when(mock);
DELEGATE_METHOD.invoke(stubber);
} catch (Exception e) {
throw new RuntimeException(e);
}
return mock;
}
});
}
项目:googles-monorepo-demo
文件:ForwardingObjectTester.java
/**
* Ensures that all interface methods of {@code forwarderClass} are forwarded to the
* {@link ForwardingObject#delegate}. {@code forwarderClass} is assumed to only implement one
* interface.
*/
static <T extends ForwardingObject> void testForwardingObject(final Class<T> forwarderClass) {
@SuppressWarnings("unchecked") // super interface type of T
Class<? super T> interfaceType = (Class<? super T>)
Iterables.getOnlyElement(Arrays.asList(forwarderClass.getInterfaces()));
new ForwardingWrapperTester()
.testForwarding(
interfaceType,CALLS_REAL_METHODS.get());
try {
T stubber = doReturn(delegate).when(mock);
DELEGATE_METHOD.invoke(stubber);
} catch (Exception e) {
throw new RuntimeException(e);
}
return mock;
}
});
}
项目:benayn
文件:Funcs.java
@Override public Object apply(final Object input) {
return new ForwardingObject() {
@Override protected Object delegate() {
return input;
}
@Override public int hashCode() {
return Objects2.hashCodes(this.delegate());
}
@Override public boolean equals(Object obj) {
return Objects2.isEqual(this.delegate(),obj);
}
};
}
项目:guava-libraries
文件:ForwardingObjectTester.java
/**
* Ensures that all interface methods of {@code forwarderClass} are forwarded to the
* {@link ForwardingObject#delegate}. {@code forwarderClass} is assumed to only implement one
* interface.
*/
static <T extends ForwardingObject> void testForwardingObject(final Class<T> forwarderClass) {
@SuppressWarnings("unchecked") // super interface type of T
Class<? super T> interfaceType = (Class<? super T>)
Iterables.getOnlyElement(Arrays.asList(forwarderClass.getInterfaces()));
new ForwardingWrapperTester().testForwarding(interfaceType,T>() {
@Override public T apply(Object delegate) {
T mock = EasyMock.createMockBuilder(forwarderClass)
.addMockedMethod(DELEGATE_METHOD)
.createMock();
try {
DELEGATE_METHOD.invoke(mock);
} catch (Exception e) {
throw Throwables.propagate(e);
}
EasyMock.expectLastCall().andStubReturn(delegate);
EasyMock.replay(mock);
return mock;
}
});
}
项目:guava
文件:ForwardingObjectTester.java
/**
* Ensures that all interface methods of {@code forwarderClass} are forwarded to the {@link
* ForwardingObject#delegate}. {@code forwarderClass} is assumed to only implement one interface.
*/
static <T extends ForwardingObject> void testForwardingObject(final Class<T> forwarderClass) {
@SuppressWarnings("unchecked") // super interface type of T
Class<? super T> interfaceType =
(Class<? super T>) Iterables.getOnlyElement(Arrays.asList(forwarderClass.getInterfaces()));
new ForwardingWrapperTester()
.testForwarding(
interfaceType,CALLS_REAL_METHODS.get());
try {
T stubber = doReturn(delegate).when(mock);
DELEGATE_METHOD.invoke(stubber);
} catch (Exception e) {
throw new RuntimeException(e);
}
return mock;
}
});
}
项目:benayn
文件:Funcs.java
@Override public Object apply(final Object input) {
return new ForwardingObject() {
@Override protected Object delegate() {
return input;
}
@Override public String toString() {
return Objects2.toString(this.delegate());
}
};
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。