Переглянути джерело

Improve AutoCommandManagerTest.

Change-Id: If9b6a83bfae4bdb8b83985874fc3610feb6b6512
Reviewed-on: http://gerrit.dmdirc.com/3967
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
pull/1/head
Greg Holmes 9 роки тому
джерело
коміт
1348b38a05

+ 58
- 25
test/com/dmdirc/commandparser/auto/AutoCommandManagerTest.java Переглянути файл

@@ -23,9 +23,6 @@
23 23
 package com.dmdirc.commandparser.auto;
24 24
 
25 25
 import com.dmdirc.DMDircMBassador;
26
-import com.dmdirc.GlobalWindow;
27
-import com.dmdirc.commandparser.parsers.GlobalCommandParser;
28
-import com.dmdirc.interfaces.CommandController;
29 26
 
30 27
 import com.google.common.base.Optional;
31 28
 
@@ -38,29 +35,34 @@ import org.mockito.runners.MockitoJUnitRunner;
38 35
 import static junit.framework.TestCase.assertFalse;
39 36
 import static org.junit.Assert.assertEquals;
40 37
 import static org.junit.Assert.assertTrue;
38
+import static org.mockito.Mockito.never;
39
+import static org.mockito.Mockito.verify;
40
+import static org.mockito.Mockito.when;
41 41
 
42 42
 @RunWith(MockitoJUnitRunner.class)
43 43
 public class AutoCommandManagerTest {
44 44
 
45
-    @Mock GlobalCommandParser globalCommandParser;
46
-    @Mock GlobalWindow globalWindow;
47
-    @Mock CommandController commandController;
48
-    @Mock DMDircMBassador eventBus;
45
+    @Mock private DMDircMBassador eventBus;
46
+    @Mock private AutoCommandHandlerFactory factory;
47
+    @Mock private AutoCommandHandler globalHandler;
48
+    @Mock private AutoCommandHandler connectionHandler;
49 49
     private AutoCommandManager autoCommandManager;
50
+    private AutoCommand global;
51
+    private AutoCommand connection;
50 52
 
51 53
     @Before
52 54
     public void setup() {
53
-        final AutoCommandHandlerFactory factory = new AutoCommandHandlerFactory(
54
-                globalCommandParser, globalWindow, commandController);
55 55
         autoCommandManager = new AutoCommandManager(eventBus, factory);
56
+        global = new AutoCommand(Optional.<String>absent(), Optional.<String>absent(),
57
+                Optional.<String>absent(), "");
58
+        connection = new AutoCommand(Optional.<String>absent(),
59
+                Optional.fromNullable("Quakenet"), Optional.<String>absent(), "");
60
+        when(factory.getAutoCommandHandler(global)).thenReturn(globalHandler);
61
+        when(factory.getAutoCommandHandler(connection)).thenReturn(connectionHandler);
56 62
     }
57 63
 
58 64
     @Test
59 65
     public void testRemoveAutoCommand() {
60
-        final AutoCommand global = new AutoCommand(Optional.<String>absent(),
61
-                Optional.<String>absent(), Optional.<String>absent(), "DO STUFF");
62
-        final AutoCommand connection = new AutoCommand(Optional.<String>absent(),
63
-                Optional.fromNullable("Quakenet"), Optional.<String>absent(), "DO STUFF");
64 66
         autoCommandManager.addAutoCommand(global);
65 67
         autoCommandManager.addAutoCommand(connection);
66 68
         assertEquals(2, autoCommandManager.getAutoCommands().size());
@@ -72,10 +74,6 @@ public class AutoCommandManagerTest {
72 74
 
73 75
     @Test
74 76
     public void testGetAutoCommands() {
75
-        final AutoCommand global = new AutoCommand(Optional.<String>absent(),
76
-                Optional.<String>absent(), Optional.<String>absent(), "DO STUFF");
77
-        final AutoCommand connection = new AutoCommand(Optional.<String>absent(),
78
-                Optional.fromNullable("Quakenet"), Optional.<String>absent(), "DO STUFF");
79 77
         autoCommandManager.addAutoCommand(global);
80 78
         autoCommandManager.addAutoCommand(connection);
81 79
         assertEquals(2, autoCommandManager.getAutoCommands().size());
@@ -83,10 +81,6 @@ public class AutoCommandManagerTest {
83 81
 
84 82
     @Test
85 83
     public void testGetGlobalAutoCommands() {
86
-        final AutoCommand global = new AutoCommand(Optional.<String>absent(),
87
-                Optional.<String>absent(), Optional.<String>absent(), "DO STUFF");
88
-        final AutoCommand connection = new AutoCommand(Optional.<String>absent(),
89
-                Optional.fromNullable("Quakenet"), Optional.<String>absent(), "DO STUFF");
90 84
         autoCommandManager.addAutoCommand(global);
91 85
         autoCommandManager.addAutoCommand(connection);
92 86
         assertEquals(1, autoCommandManager.getGlobalAutoCommands().size());
@@ -95,13 +89,52 @@ public class AutoCommandManagerTest {
95 89
 
96 90
     @Test
97 91
     public void testGetConnectionAutoCommands() {
98
-        final AutoCommand global = new AutoCommand(Optional.<String>absent(),
99
-                Optional.<String>absent(), Optional.<String>absent(), "DO STUFF");
100
-        final AutoCommand connection = new AutoCommand(Optional.<String>absent(),
101
-                Optional.fromNullable("Quakenet"), Optional.<String>absent(), "DO STUFF");
102 92
         autoCommandManager.addAutoCommand(global);
103 93
         autoCommandManager.addAutoCommand(connection);
104 94
         assertEquals(1, autoCommandManager.getConnectionAutoCommands().size());
105 95
         assertTrue(autoCommandManager.getConnectionAutoCommands().contains(connection));
106 96
     }
97
+
98
+    @Test
99
+    public void testStart() {
100
+        autoCommandManager.addAutoCommand(global);
101
+        autoCommandManager.start();
102
+        verify(eventBus).subscribe(globalHandler);
103
+    }
104
+
105
+    @Test
106
+    public void testStop() {
107
+        autoCommandManager.addAutoCommand(global);
108
+        autoCommandManager.stop();
109
+        verify(eventBus).unsubscribe(globalHandler);
110
+    }
111
+
112
+    @Test
113
+    public void testAddWhenStarted() {
114
+        autoCommandManager.start();
115
+        autoCommandManager.addAutoCommand(global);
116
+        verify(eventBus).subscribe(globalHandler);
117
+    }
118
+
119
+    @Test
120
+    public void testAddWhenStopped() {
121
+        autoCommandManager.addAutoCommand(global);
122
+        verify(eventBus, never()).subscribe(globalHandler);
123
+    }
124
+
125
+    @Test
126
+    public void testRemoveWhenStarted() {
127
+        autoCommandManager.start();
128
+        autoCommandManager.addAutoCommand(global);
129
+        autoCommandManager.removeAutoCommand(global);
130
+        verify(eventBus).subscribe(globalHandler);
131
+        verify(eventBus).unsubscribe(globalHandler);
132
+    }
133
+
134
+    @Test
135
+    public void testRemoveWhenStopped() {
136
+        autoCommandManager.removeAutoCommand(global);
137
+        verify(eventBus, never()).subscribe(global);
138
+        verify(eventBus, never()).unsubscribe(globalHandler);
139
+    }
107 140
 }

Завантаження…
Відмінити
Зберегти