UTILS-17
[utils] / wicket / joe / src / test / java / org / wamblee / wicket / inject / InjectionBehaviorTest.java
index 4a2fef21c8df962e8aa7ffdf738073244aa93bbf..e9ba180ca6d767e54d0bd12c6d408c153b11d8de 100644 (file)
@@ -24,6 +24,7 @@ import org.apache.wicket.Component;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
+import org.wamblee.general.ObjectSerializationUtils;
 import org.wamblee.inject.Injector;
 import org.wamblee.inject.InjectorBuilder;
 import org.wamblee.inject.InjectorFactory;
@@ -32,9 +33,9 @@ import static org.mockito.Mockito.*;
 
 public class InjectionBehaviorTest {
 
-    Component component;
-    Injector injector;
-    InjectorFactory injectorFactory;
+    private Component component;
+    private Injector injector;
+    private InjectorFactory injectorFactory;
 
     @Before
     public void setUp() {
@@ -52,27 +53,24 @@ public class InjectionBehaviorTest {
 
     @Test
     public void testNoInjectionInitially() {
-        InjectionBehavior behavior = new InjectionBehavior();
-        behavior.beforeRender(component); 
+           Component component = mock(Component.class);
+        InjectionBehavior behavior = new InjectionBehavior(component);
+        behavior.beforeRender(component);
         verifyNoMoreInteractions(injector);
     }
-    
+
     @Test
-    public void testInjectOnlyOnceAfterDeserialisation() throws Exception { 
-        InjectionBehavior behavior = new InjectionBehavior();
-        
-        ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
-        ObjectOutputStream os = new ObjectOutputStream(bos); 
-        os.writeObject(behavior);
-        os.flush();
-        ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
-        ObjectInputStream ois = new ObjectInputStream(bis); 
-        behavior = (InjectionBehavior)ois.readObject();
-        
-        behavior.beforeRender(component); 
-        verify(injector).inject(same(component));
+    public void testInjectOnlyOnceAfterDeserialisation() throws Exception {
+           Component component = mock(Component.class);
+        InjectionBehavior behavior = new InjectionBehavior(component);
+
+        behavior = ObjectSerializationUtils.deserialize(
+            ObjectSerializationUtils.serialize(behavior),
+            InjectionBehavior.class);
+
+        verify(injector).inject(any(Component.class));
         reset(injector);
-        behavior.beforeRender(component); 
+        behavior.beforeRender(component);
         verifyNoMoreInteractions(injector);
 
     }