Kaynağa Gözat

Rework HistoryWindow test.

pull/450/head
Chris Smith 8 yıl önce
ebeveyn
işleme
35109d45e7

+ 31
- 22
logging/test/com/dmdirc/addons/logging/HistoryWindowTest.java Dosyayı Görüntüle

@@ -24,34 +24,36 @@ package com.dmdirc.addons.logging;
24 24
 
25 25
 import com.dmdirc.DMDircMBassador;
26 26
 import com.dmdirc.config.ConfigBinder;
27
-import com.dmdirc.events.DisplayPropertyMap;
28 27
 import com.dmdirc.interfaces.Connection;
29 28
 import com.dmdirc.interfaces.WindowModel;
30 29
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
31 30
 import com.dmdirc.ui.messages.BackBuffer;
32 31
 import com.dmdirc.ui.messages.BackBufferFactory;
33
-import com.dmdirc.ui.messages.IRCDocument;
34 32
 
35 33
 import java.nio.file.Paths;
36
-import java.text.SimpleDateFormat;
34
+import java.util.ArrayList;
35
+import java.util.List;
37 36
 import java.util.Optional;
37
+import java.util.concurrent.CountDownLatch;
38
+import java.util.concurrent.TimeUnit;
38 39
 
39 40
 import org.junit.Before;
40 41
 import org.junit.Test;
41 42
 import org.junit.runner.RunWith;
42
-import org.mockito.InOrder;
43 43
 import org.mockito.Mock;
44 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 50
 import static junit.framework.TestCase.assertEquals;
51
+import static org.junit.Assert.assertTrue;
47 52
 import static org.mockito.Matchers.any;
48
-import static org.mockito.Matchers.eq;
49
-import static org.mockito.Mockito.inOrder;
50 53
 import static org.mockito.Mockito.when;
51 54
 @RunWith(MockitoJUnitRunner.class)
52 55
 public class HistoryWindowTest {
53 56
 
54
-    @Mock private IRCDocument document;
55 57
     @Mock private BackBuffer backBuffer;
56 58
     @Mock private AggregateConfigProvider config;
57 59
     @Mock private ConfigBinder configBinder;
@@ -64,7 +66,6 @@ public class HistoryWindowTest {
64 66
     @Before
65 67
     public void setUp() throws Exception {
66 68
         when(backBufferFactory.getBackBuffer(any())).thenReturn(backBuffer);
67
-        when(backBuffer.getDocument()).thenReturn(document);
68 69
         when(config.getBinder()).thenReturn(configBinder);
69 70
         when(frameContainer.getConfigManager()).thenReturn(config);
70 71
         when(frameContainer.getConnection()).thenReturn(Optional.of(connection));
@@ -80,20 +81,28 @@ public class HistoryWindowTest {
80 81
 
81 82
     @Test
82 83
     public void testOutputLoggingBackBuffer() throws Exception {
84
+        final LineListener listener = new LineListener();
85
+        instance.getEventBus().subscribe(listener);
83 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…
İptal
Kaydet