Browse Source

Rework HistoryWindow test.

pull/450/head
Chris Smith 8 years ago
parent
commit
35109d45e7
1 changed files with 31 additions and 22 deletions
  1. 31
    22
      logging/test/com/dmdirc/addons/logging/HistoryWindowTest.java

+ 31
- 22
logging/test/com/dmdirc/addons/logging/HistoryWindowTest.java View File

24
 
24
 
25
 import com.dmdirc.DMDircMBassador;
25
 import com.dmdirc.DMDircMBassador;
26
 import com.dmdirc.config.ConfigBinder;
26
 import com.dmdirc.config.ConfigBinder;
27
-import com.dmdirc.events.DisplayPropertyMap;
28
 import com.dmdirc.interfaces.Connection;
27
 import com.dmdirc.interfaces.Connection;
29
 import com.dmdirc.interfaces.WindowModel;
28
 import com.dmdirc.interfaces.WindowModel;
30
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
29
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
31
 import com.dmdirc.ui.messages.BackBuffer;
30
 import com.dmdirc.ui.messages.BackBuffer;
32
 import com.dmdirc.ui.messages.BackBufferFactory;
31
 import com.dmdirc.ui.messages.BackBufferFactory;
33
-import com.dmdirc.ui.messages.IRCDocument;
34
 
32
 
35
 import java.nio.file.Paths;
33
 import java.nio.file.Paths;
36
-import java.text.SimpleDateFormat;
34
+import java.util.ArrayList;
35
+import java.util.List;
37
 import java.util.Optional;
36
 import java.util.Optional;
37
+import java.util.concurrent.CountDownLatch;
38
+import java.util.concurrent.TimeUnit;
38
 
39
 
39
 import org.junit.Before;
40
 import org.junit.Before;
40
 import org.junit.Test;
41
 import org.junit.Test;
41
 import org.junit.runner.RunWith;
42
 import org.junit.runner.RunWith;
42
-import org.mockito.InOrder;
43
 import org.mockito.Mock;
43
 import org.mockito.Mock;
44
 import org.mockito.runners.MockitoJUnitRunner;
44
 import org.mockito.runners.MockitoJUnitRunner;
45
 
45
 
46
+import net.engio.mbassy.listener.Handler;
47
+import net.engio.mbassy.listener.Listener;
48
+import net.engio.mbassy.listener.References;
49
+
46
 import static junit.framework.TestCase.assertEquals;
50
 import static junit.framework.TestCase.assertEquals;
51
+import static org.junit.Assert.assertTrue;
47
 import static org.mockito.Matchers.any;
52
 import static org.mockito.Matchers.any;
48
-import static org.mockito.Matchers.eq;
49
-import static org.mockito.Mockito.inOrder;
50
 import static org.mockito.Mockito.when;
53
 import static org.mockito.Mockito.when;
51
 @RunWith(MockitoJUnitRunner.class)
54
 @RunWith(MockitoJUnitRunner.class)
52
 public class HistoryWindowTest {
55
 public class HistoryWindowTest {
53
 
56
 
54
-    @Mock private IRCDocument document;
55
     @Mock private BackBuffer backBuffer;
57
     @Mock private BackBuffer backBuffer;
56
     @Mock private AggregateConfigProvider config;
58
     @Mock private AggregateConfigProvider config;
57
     @Mock private ConfigBinder configBinder;
59
     @Mock private ConfigBinder configBinder;
64
     @Before
66
     @Before
65
     public void setUp() throws Exception {
67
     public void setUp() throws Exception {
66
         when(backBufferFactory.getBackBuffer(any())).thenReturn(backBuffer);
68
         when(backBufferFactory.getBackBuffer(any())).thenReturn(backBuffer);
67
-        when(backBuffer.getDocument()).thenReturn(document);
68
         when(config.getBinder()).thenReturn(configBinder);
69
         when(config.getBinder()).thenReturn(configBinder);
69
         when(frameContainer.getConfigManager()).thenReturn(config);
70
         when(frameContainer.getConfigManager()).thenReturn(config);
70
         when(frameContainer.getConnection()).thenReturn(Optional.of(connection));
71
         when(frameContainer.getConnection()).thenReturn(Optional.of(connection));
80
 
81
 
81
     @Test
82
     @Test
82
     public void testOutputLoggingBackBuffer() throws Exception {
83
     public void testOutputLoggingBackBuffer() throws Exception {
84
+        final LineListener listener = new LineListener();
85
+        instance.getEventBus().subscribe(listener);
83
         instance.outputLoggingBackBuffer(4);
86
         instance.outputLoggingBackBuffer(4);
84
-        final InOrder inOrder = inOrder(document);
85
-        inOrder.verify(document).addText(eq(new SimpleDateFormat("[dd/MM/yyyy HH:mm:ss]")
86
-                .parse("[21/12/2015 12:58:02]").getTime()), eq
87
-                (DisplayPropertyMap.EMPTY), eq("RAAR"));
88
-        inOrder.verify(document).addText(eq(new SimpleDateFormat("[dd/MM/yyyy HH:mm:ss]")
89
-                .parse("[21/12/2015 12:59:03]").getTime()), eq
90
-                (DisplayPropertyMap.EMPTY), eq("RAAAR"));
91
-        inOrder.verify(document).addText(eq(new SimpleDateFormat("[dd/MM/yyyy HH:mm:ss]")
92
-                .parse("[21/12/2015 13:00:04]").getTime()), eq
93
-                (DisplayPropertyMap.EMPTY), eq("RAAAAR"));
94
-        inOrder.verify(document).addText(eq(new SimpleDateFormat("[dd/MM/yyyy HH:mm:ss]")
95
-                .parse("[21/12/2015 13:01:05]").getTime()), eq
96
-                (DisplayPropertyMap.EMPTY), eq("RAAAAAR"));
97
-        inOrder.verifyNoMoreInteractions();
87
+
88
+        assertTrue(listener.latch.await(5, TimeUnit.SECONDS));
89
+        assertEquals("[21/12/2015 12:58:02] RAAR", listener.values.get(0).getLine());
90
+        assertEquals("[21/12/2015 12:59:03] RAAAR", listener.values.get(1).getLine());
91
+        assertEquals("[21/12/2015 13:00:04] RAAAAR", listener.values.get(2).getLine());
92
+        assertEquals("[21/12/2015 13:01:05] RAAAAAR", listener.values.get(3).getLine());
93
+    }
94
+
95
+    @Listener(references = References.Strong)
96
+    private static class LineListener {
97
+
98
+        public final List<HistoricalLineRestoredEvent> values = new ArrayList<>();
99
+        public final CountDownLatch latch = new CountDownLatch(4);
100
+
101
+        @Handler
102
+        private void handleLineRestored(final HistoricalLineRestoredEvent event) {
103
+            values.add(event);
104
+            latch.countDown();
105
+        }
106
+
98
     }
107
     }
99
 }
108
 }

Loading…
Cancel
Save