import org.junit.Before;
import org.junit.Test;
import org.wamblee.general.ThreadSpecificProxyFactory;
+import org.wamblee.general.ThreadSpecificProxyFactory.CreationCallback;
public class ThreadSpecificProxyFactoryTest {
verify(svc).execute(10);
}
+ @Test
+ public void testCreationCallback() throws Exception {
+ CreationCallback callback = mock(CreationCallback.class);
+ Service initialService = mock(Service.class);
+ when(callback.create()).thenReturn(initialService);
+
+ factory = new ThreadSpecificProxyFactory<Service>(Service.class,
+ callback);
+ proxy = factory.getProxy();
+ Service svc = factory.get();
+
+ assertSame(initialService, svc);
+ verify(callback).create();
+ }
+
@Test
public void testInvokeThroughProxyWithException() throws Exception {
Service svc = mock(Service.class);
@Test(expected = IllegalArgumentException.class)
public void testNotAnInterface() {
- ThreadSpecificProxyFactory f = new ThreadSpecificProxyFactory(String.class);
+ ThreadSpecificProxyFactory f = new ThreadSpecificProxyFactory(
+ String.class);
}
-
+
@Test
- public void testProxyToStringWhileUninitialized() {
+ public void testProxyToStringWhileUninitialized() {
String val = proxy.toString();
}
}