1 | package geniusweb.protocol.session;
|
---|
2 |
|
---|
3 | import static org.junit.Assert.assertEquals;
|
---|
4 | import static org.junit.Assert.assertFalse;
|
---|
5 | import static org.junit.Assert.assertTrue;
|
---|
6 | import static org.mockito.Mockito.mock;
|
---|
7 | import static org.mockito.Mockito.when;
|
---|
8 |
|
---|
9 | import java.util.Arrays;
|
---|
10 | import java.util.List;
|
---|
11 |
|
---|
12 | import org.junit.Before;
|
---|
13 | import org.junit.Test;
|
---|
14 |
|
---|
15 | import geniusweb.actions.PartyId;
|
---|
16 | import geniusweb.protocol.partyconnection.ProtocolToPartyConnections;
|
---|
17 | import geniusweb.protocol.partyconnection.ProtocolToPartyConn;
|
---|
18 | import tudelft.utilities.junit.GeneralTests;
|
---|
19 |
|
---|
20 | public class ConnectionWithPartiesTest
|
---|
21 | extends GeneralTests<ProtocolToPartyConnections> {
|
---|
22 | PartyId party1 = new PartyId("party1");
|
---|
23 | PartyId party2 = new PartyId("party2");
|
---|
24 | PartyId party3 = new PartyId("party3");
|
---|
25 |
|
---|
26 | private ProtocolToPartyConn con1 = mock(ProtocolToPartyConn.class);
|
---|
27 | private ProtocolToPartyConn con2 = mock(ProtocolToPartyConn.class);
|
---|
28 | private ProtocolToPartyConn con3 = mock(ProtocolToPartyConn.class);
|
---|
29 |
|
---|
30 | private ProtocolToPartyConnections conns1 = new ProtocolToPartyConnections(
|
---|
31 | Arrays.asList(con1, con2));
|
---|
32 | private ProtocolToPartyConnections conns1a = new ProtocolToPartyConnections(
|
---|
33 | Arrays.asList(con1, con2));
|
---|
34 | private ProtocolToPartyConnections conns2 = new ProtocolToPartyConnections(
|
---|
35 | Arrays.asList(con1, con3));
|
---|
36 | private ProtocolToPartyConnections conns3 = new ProtocolToPartyConnections(
|
---|
37 | Arrays.asList(con2, con1));
|
---|
38 | private ProtocolToPartyConnections conns4 = new ProtocolToPartyConnections(
|
---|
39 | Arrays.asList(con2, con1, con3));
|
---|
40 | private ProtocolToPartyConnections conns5 = new ProtocolToPartyConnections(
|
---|
41 | Arrays.asList(con2, con1, con3, con1));
|
---|
42 |
|
---|
43 | @Before
|
---|
44 | public void before() {
|
---|
45 | when(con1.toString()).thenReturn("con1");
|
---|
46 | when(con2.toString()).thenReturn("con2");
|
---|
47 | when(con3.toString()).thenReturn("con3");
|
---|
48 |
|
---|
49 | when(con1.getParty()).thenReturn(party1);
|
---|
50 | when(con2.getParty()).thenReturn(party2);
|
---|
51 | when(con3.getParty()).thenReturn(party3);
|
---|
52 |
|
---|
53 | }
|
---|
54 |
|
---|
55 | @Override
|
---|
56 | public List<List<ProtocolToPartyConnections>> getGeneralTestData() {
|
---|
57 | return Arrays.asList(Arrays.asList(conns1, conns1a),
|
---|
58 | Arrays.asList(conns2), Arrays.asList(conns3),
|
---|
59 | Arrays.asList(conns4));
|
---|
60 | }
|
---|
61 |
|
---|
62 | @Override
|
---|
63 | public List<String> getGeneralTestStrings() {
|
---|
64 | return Arrays.asList("ConnectionWithParties\\[con1, con2\\]",
|
---|
65 | "ConnectionWithParties\\[con1, con3\\]",
|
---|
66 | "ConnectionWithParties\\[con2, con1\\]",
|
---|
67 | "ConnectionWithParties\\[con2, con1, con3\\]");
|
---|
68 | }
|
---|
69 |
|
---|
70 | @Test
|
---|
71 | public void getTest() {
|
---|
72 | assertEquals(con1, conns1.get(0));
|
---|
73 | assertEquals(con3, conns4.get(2));
|
---|
74 | }
|
---|
75 |
|
---|
76 | @Test
|
---|
77 | public void getPartyTest() {
|
---|
78 | assertEquals(con1, conns1.get(party1));
|
---|
79 | assertEquals(con1, conns4.get(party1));
|
---|
80 | assertEquals(con2, conns1.get(party2));
|
---|
81 | assertEquals(con2, conns3.get(party2));
|
---|
82 | assertEquals(con2, conns4.get(party2));
|
---|
83 | }
|
---|
84 |
|
---|
85 | @Test
|
---|
86 | public void getUnknownPartyTest() {
|
---|
87 | assertEquals(null, conns2.get(party2));
|
---|
88 | }
|
---|
89 |
|
---|
90 | @Test
|
---|
91 | public void sizeTest() {
|
---|
92 | assertEquals(2, conns1.size());
|
---|
93 | assertEquals(2, conns2.size());
|
---|
94 | assertEquals(2, conns3.size());
|
---|
95 | assertEquals(3, conns4.size());
|
---|
96 | }
|
---|
97 |
|
---|
98 | @Test
|
---|
99 | public void withPartyTest() {
|
---|
100 | ProtocolToPartyConnections conns = conns3.with(con3);
|
---|
101 | assertEquals(2, conns3.size());
|
---|
102 | assertEquals(3, conns.size());
|
---|
103 | assertEquals(conns4, conns);
|
---|
104 | }
|
---|
105 |
|
---|
106 | @Test
|
---|
107 | public void withExistingPartyTest() {
|
---|
108 | conns4.with(con1);
|
---|
109 | // no throw, default this is ok, it should be the protocol testing this.
|
---|
110 | }
|
---|
111 |
|
---|
112 | @Test
|
---|
113 | public void allUniqueTest() {
|
---|
114 | assertTrue(conns4.allunique());
|
---|
115 | assertFalse(conns5.allunique());
|
---|
116 | }
|
---|
117 |
|
---|
118 | }
|
---|