### Question:
SoapServiceClient implements InvocationHandler { protected Object unwrapRemoteCallReturn(RemoteCallReturn remoteCallReturn) throws Throwable { if (remoteCallReturn.getException() != null) { throw handleException(remoteCallReturn.getException()); } else { return remoteCallReturn.getReturnValue(); } } protected  SoapServiceClient(SoapClientHandlerInterface<T> soapClientHandler,
      T soapClient); @Override Object invoke(Object proxy, final Method method, final Object[] args); void setEndpointAddress(String endpointAddress); Object getSoapClient();  }### Answer:
@Test public void testUnwrapRemoteCallReturn_exception() throws Throwable { RemoteCallReturn remoteCallReturn = new RemoteCallReturn.Builder().withException(new NoSuchMethodException()).build(); thrown.expect(NoSuchMethodException.class); soapServiceClient.unwrapRemoteCallReturn(remoteCallReturn); }
@Test public void testUnwrapRemoteCallReturn_successful() throws Throwable { Object expectedReturnValue = "return"; RemoteCallReturn remoteCallReturn = new RemoteCallReturn.Builder().withReturnValue(expectedReturnValue).build(); assertEquals(expectedReturnValue, soapServiceClient.unwrapRemoteCallReturn(remoteCallReturn)); }