1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package net.grinder.console.communication;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertTrue;
26 import static org.mockito.Mockito.when;
27
28 import java.util.Comparator;
29
30 import net.grinder.common.processidentity.AgentIdentity;
31 import net.grinder.common.processidentity.ProcessReport;
32 import net.grinder.console.common.processidentity.StubAgentProcessReport;
33 import net.grinder.console.communication.ProcessControl.ProcessReports;
34 import net.grinder.engine.agent.StubAgentIdentity;
35 import net.grinder.messages.console.AgentAndCacheReport;
36
37 import org.junit.Before;
38 import org.junit.Test;
39 import org.mockito.Mock;
40 import org.mockito.MockitoAnnotations;
41
42
43
44
45
46
47 public class TestProcessControl {
48
49 private final AgentIdentity m_agentIdentity =
50 new StubAgentIdentity("my agent");
51
52 private final AgentAndCacheReport m_agentProcessReport1 =
53 new StubAgentProcessReport(m_agentIdentity, ProcessReport.State.RUNNING);
54 private final AgentAndCacheReport agentProcessReport2 =
55 new StubAgentProcessReport(m_agentIdentity, ProcessReport.State.FINISHED);
56
57 @Mock private ProcessReports m_processReports1;
58 @Mock private ProcessReports m_processReports2;
59
60 @Before public void setUp() throws Exception {
61 MockitoAnnotations.initMocks(this);
62
63 when(m_processReports1.getAgentProcessReport())
64 .thenReturn(m_agentProcessReport1);
65
66 when(m_processReports2.getAgentProcessReport())
67 .thenReturn(agentProcessReport2);
68 }
69
70 @Test public void testProcessReportsComparator() throws Exception {
71 final Comparator<ProcessReports> comparator =
72 new ProcessControl.ProcessReportsComparator();
73
74 assertEquals(0, comparator.compare(m_processReports1, m_processReports1));
75 assertEquals(0, comparator.compare(m_processReports2, m_processReports2));
76 assertTrue(comparator.compare(m_processReports1, m_processReports2) < 0);
77 assertTrue(comparator.compare(m_processReports2, m_processReports1) > 0);
78 }
79 }