Browse Source

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 years ago
parent
commit
1348b38a05
1 changed files with 58 additions and 25 deletions
  1. 58
    25
      test/com/dmdirc/commandparser/auto/AutoCommandManagerTest.java

+ 58
- 25
test/com/dmdirc/commandparser/auto/AutoCommandManagerTest.java View File

23
 package com.dmdirc.commandparser.auto;
23
 package com.dmdirc.commandparser.auto;
24
 
24
 
25
 import com.dmdirc.DMDircMBassador;
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
 import com.google.common.base.Optional;
27
 import com.google.common.base.Optional;
31
 
28
 
38
 import static junit.framework.TestCase.assertFalse;
35
 import static junit.framework.TestCase.assertFalse;
39
 import static org.junit.Assert.assertEquals;
36
 import static org.junit.Assert.assertEquals;
40
 import static org.junit.Assert.assertTrue;
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
 @RunWith(MockitoJUnitRunner.class)
42
 @RunWith(MockitoJUnitRunner.class)
43
 public class AutoCommandManagerTest {
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
     private AutoCommandManager autoCommandManager;
49
     private AutoCommandManager autoCommandManager;
50
+    private AutoCommand global;
51
+    private AutoCommand connection;
50
 
52
 
51
     @Before
53
     @Before
52
     public void setup() {
54
     public void setup() {
53
-        final AutoCommandHandlerFactory factory = new AutoCommandHandlerFactory(
54
-                globalCommandParser, globalWindow, commandController);
55
         autoCommandManager = new AutoCommandManager(eventBus, factory);
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
     @Test
64
     @Test
59
     public void testRemoveAutoCommand() {
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
         autoCommandManager.addAutoCommand(global);
66
         autoCommandManager.addAutoCommand(global);
65
         autoCommandManager.addAutoCommand(connection);
67
         autoCommandManager.addAutoCommand(connection);
66
         assertEquals(2, autoCommandManager.getAutoCommands().size());
68
         assertEquals(2, autoCommandManager.getAutoCommands().size());
72
 
74
 
73
     @Test
75
     @Test
74
     public void testGetAutoCommands() {
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
         autoCommandManager.addAutoCommand(global);
77
         autoCommandManager.addAutoCommand(global);
80
         autoCommandManager.addAutoCommand(connection);
78
         autoCommandManager.addAutoCommand(connection);
81
         assertEquals(2, autoCommandManager.getAutoCommands().size());
79
         assertEquals(2, autoCommandManager.getAutoCommands().size());
83
 
81
 
84
     @Test
82
     @Test
85
     public void testGetGlobalAutoCommands() {
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
         autoCommandManager.addAutoCommand(global);
84
         autoCommandManager.addAutoCommand(global);
91
         autoCommandManager.addAutoCommand(connection);
85
         autoCommandManager.addAutoCommand(connection);
92
         assertEquals(1, autoCommandManager.getGlobalAutoCommands().size());
86
         assertEquals(1, autoCommandManager.getGlobalAutoCommands().size());
95
 
89
 
96
     @Test
90
     @Test
97
     public void testGetConnectionAutoCommands() {
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
         autoCommandManager.addAutoCommand(global);
92
         autoCommandManager.addAutoCommand(global);
103
         autoCommandManager.addAutoCommand(connection);
93
         autoCommandManager.addAutoCommand(connection);
104
         assertEquals(1, autoCommandManager.getConnectionAutoCommands().size());
94
         assertEquals(1, autoCommandManager.getConnectionAutoCommands().size());
105
         assertTrue(autoCommandManager.getConnectionAutoCommands().contains(connection));
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
 }

Loading…
Cancel
Save