diff options
Diffstat (limited to 'guava-tests/test/com/google/common/util/concurrent/ForwardingObjectTester.java')
-rw-r--r-- | guava-tests/test/com/google/common/util/concurrent/ForwardingObjectTester.java | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/guava-tests/test/com/google/common/util/concurrent/ForwardingObjectTester.java b/guava-tests/test/com/google/common/util/concurrent/ForwardingObjectTester.java index 021d96de7..edc48a9be 100644 --- a/guava-tests/test/com/google/common/util/concurrent/ForwardingObjectTester.java +++ b/guava-tests/test/com/google/common/util/concurrent/ForwardingObjectTester.java @@ -16,14 +16,14 @@ package com.google.common.util.concurrent; -import static org.mockito.Answers.CALLS_REAL_METHODS; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; - import com.google.common.base.Function; +import com.google.common.base.Throwables; import com.google.common.collect.ForwardingObject; import com.google.common.collect.Iterables; import com.google.common.testing.ForwardingWrapperTester; + +import org.easymock.EasyMock; + import java.lang.reflect.Method; import java.util.Arrays; @@ -35,7 +35,6 @@ import java.util.Arrays; final class ForwardingObjectTester { private static final Method DELEGATE_METHOD; - static { try { DELEGATE_METHOD = ForwardingObject.class.getDeclaredMethod("delegate"); @@ -48,28 +47,28 @@ final class ForwardingObjectTester { } /** - * Ensures that all interface methods of {@code forwarderClass} are forwarded to the {@link - * ForwardingObject#delegate}. {@code forwarderClass} is assumed to only implement one interface. + * 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; - } - }); + 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 = 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; + } + }); } } |