Class ForwardingWrapperTester


  • @Beta
    @GwtIncompatible
    public final class ForwardingWrapperTester
    extends java.lang.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);
         }
       });
    Since:
    14.0
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ForwardingWrapperTester includingEquals()
      Asks for Object.equals(java.lang.Object) and Object.hashCode() to be tested.
      <T> void testForwarding​(java.lang.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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ForwardingWrapperTester

        public ForwardingWrapperTester()
    • Method Detail

      • includingEquals

        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.
      • testForwarding

        public <T> void testForwarding​(java.lang.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.