@Beta public final class ForwardingWrapperTester extends Object
Tester to ensure forwarding wrapper works by delegating calls to the corresponding method with the same parameters forwarded and return value forwarded back or exception propagated as is.
For example:
new ForwardingWrapperTester().testForwarding(Foo.class, new Function<Foo, Foo>() {
public Foo apply(Foo foo) {
return new ForwardingFoo(foo);
} });| Constructor and Description |
|---|
ForwardingWrapperTester() |
| Modifier and Type | Method and Description |
|---|---|
ForwardingWrapperTester |
includingEquals()
Asks for
Object.equals(java.lang.Object) and Object.hashCode() to be tested. |
<T> void |
testForwarding(Class<T> interfaceType,
Function<? super T,? extends T> wrapperFunction)
Tests that the forwarding wrapper returned by
wrapperFunction properly forwards method calls with parameters passed as is, return value returned as is, and exceptions propagated as is. |
public ForwardingWrapperTester includingEquals()
Asks for Object.equals(java.lang.Object) and Object.hashCode() to be tested. That is, forwarding wrappers of equal instances should be equal.
public <T> void testForwarding(Class<T> interfaceType, Function<? super T,? extends T> wrapperFunction)
Tests that the forwarding wrapper returned by wrapperFunction properly forwards method calls with parameters passed as is, return value returned as is, and exceptions propagated as is.