Migrate nemo to use liblldp from openflowplugin
[nemo.git] / nemo-renderers / openflow-renderer / src / test / java / org / opendaylight / nemo / renderer / openflow / utils / ARPTest.java
1 /*
2  * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.nemo.renderer.openflow.utils;
9
10 import junit.framework.TestCase;
11 import org.junit.Assert;
12 import org.junit.Before;
13 import org.junit.Test;
14
15 import static org.junit.Assert.*;
16
17 import org.apache.commons.lang3.tuple.ImmutablePair;
18 import org.apache.commons.lang3.tuple.Pair;
19 import org.opendaylight.openflowplugin.libraries.liblldp.BitBufferHelper;
20 import org.opendaylight.openflowplugin.libraries.liblldp.Packet;
21 import org.opendaylight.nemo.renderer.openflow.utils.ARP;
22
23 import java.util.HashMap;
24 import java.util.LinkedHashMap;
25 import java.util.Map;
26 import static org.mockito.Mockito.*;
27 /**
28  * Created by zhangmeng on 2015/11/24.
29  */
30 public class ARPTest extends TestCase {
31     private ARP arp;
32     private ARP arp1;
33     private ARP arp2;
34
35     @Override
36     @Before
37     public void setUp() throws Exception {
38         arp = new ARP();
39         arp1 = new ARP(true);
40         arp2 = new ARP(false);
41     }
42
43
44     @Test
45     public void testHardwareType() throws Exception {
46         short hardwaretype = 0;
47
48         // set
49         arp1.setHardwareType(hardwaretype);
50         arp2.setHardwareType(hardwaretype);
51         arp.setHardwareType(hardwaretype);
52
53         //test get
54         Assert.assertEquals(0, arp.getHardwareType());
55         Assert.assertEquals(0,arp1.getHardwareType());
56         Assert.assertEquals(0,arp2.getHardwareType());
57
58         hardwaretype = 1;
59
60         // set
61         arp1.setHardwareType(hardwaretype);
62         arp2.setHardwareType(hardwaretype);
63         arp.setHardwareType(hardwaretype);
64
65         //test get
66         Assert.assertEquals(1, arp.getHardwareType());
67         Assert.assertEquals(1,arp1.getHardwareType());
68         Assert.assertEquals(1,arp2.getHardwareType());
69     }
70
71     @Test
72     public void testProtocolType() throws Exception {
73         short protocoltype = 0;
74
75         //set
76         arp.setProtocolType(protocoltype);
77         arp1.setProtocolType(protocoltype);
78         arp2.setProtocolType(protocoltype);
79
80         //test get
81         Assert.assertEquals(0,arp.getProtocolType());
82         Assert.assertEquals(0,arp1.getProtocolType());
83         Assert.assertEquals(0,arp2.getProtocolType());
84
85          protocoltype = 1;
86
87         //set
88         arp.setProtocolType(protocoltype);
89         arp1.setProtocolType(protocoltype);
90         arp2.setProtocolType(protocoltype);
91
92         //test get
93         Assert.assertEquals(1,arp.getProtocolType());
94         Assert.assertEquals(1,arp1.getProtocolType());
95         Assert.assertEquals(1,arp2.getProtocolType());
96     }
97
98     @Test
99     public void testHardwareAddressLength() throws Exception {
100         byte hardwareaddresslength = 0;
101
102         //set
103         arp.setHardwareAddressLength(hardwareaddresslength);
104         arp1.setHardwareAddressLength(hardwareaddresslength);
105         arp2.setHardwareAddressLength(hardwareaddresslength);
106
107         //test get
108         Assert.assertEquals(0,arp.getHardwareAddressLength());
109         Assert.assertEquals(0,arp1.getHardwareAddressLength());
110         Assert.assertEquals(0,arp2.getHardwareAddressLength());
111          hardwareaddresslength = 1;
112
113         //set
114         arp.setHardwareAddressLength(hardwareaddresslength);
115         arp1.setHardwareAddressLength(hardwareaddresslength);
116         arp2.setHardwareAddressLength(hardwareaddresslength);
117
118         //test get
119         Assert.assertEquals(1,arp.getHardwareAddressLength());
120         Assert.assertEquals(1,arp1.getHardwareAddressLength());
121         Assert.assertEquals(1,arp2.getHardwareAddressLength());
122     }
123
124     @Test
125     public void testProtocolAddressLength() throws Exception {
126         byte protocoladdresslength = 0;
127
128         //set
129         arp.setProtocolAddressLength(protocoladdresslength);
130         arp1.setProtocolAddressLength(protocoladdresslength);
131         arp2.setProtocolAddressLength(protocoladdresslength);
132
133         //test get
134         Assert.assertEquals(0,arp.getProtocolAddressLength());
135         Assert.assertEquals(0,arp1.getProtocolAddressLength());
136         Assert.assertEquals(0,arp2.getProtocolAddressLength());
137          protocoladdresslength = 1;
138
139         //set
140         arp.setProtocolAddressLength(protocoladdresslength);
141         arp1.setProtocolAddressLength(protocoladdresslength);
142         arp2.setProtocolAddressLength(protocoladdresslength);
143
144         //test get
145         Assert.assertEquals(1,arp.getProtocolAddressLength());
146         Assert.assertEquals(1,arp1.getProtocolAddressLength());
147         Assert.assertEquals(1,arp2.getProtocolAddressLength());
148     }
149
150     @Test
151     public void testOpCode() throws Exception {
152         short opcode = 0;
153
154         //set
155         arp.setOpCode(opcode);
156         arp1.setOpCode(opcode);
157         arp2.setOpCode(opcode);
158
159         //test get
160         Assert.assertEquals(0, arp.getOpCode());
161         Assert.assertEquals(0, arp1.getOpCode());
162         Assert.assertEquals(0,arp2.getOpCode());
163
164         //set
165         opcode = 1;
166         arp.setOpCode(opcode);
167         arp1.setOpCode(opcode);
168         arp2.setOpCode(opcode);
169
170         //test get
171         Assert.assertEquals(1, arp.getOpCode());
172         Assert.assertEquals(1, arp1.getOpCode());
173         Assert.assertEquals(1,arp2.getOpCode());
174     }
175
176     @Test
177     public void testSenderHardwareAddress() throws Exception {
178         byte []senderhardwareaddrss = {0};
179
180         //set
181         arp.setSenderHardwareAddress(senderhardwareaddrss);
182         arp1.setSenderHardwareAddress(senderhardwareaddrss);
183         arp2.setSenderHardwareAddress(senderhardwareaddrss);
184
185         //test get
186         Assert.assertEquals(senderhardwareaddrss, arp.getSenderHardwareAddress());
187         Assert.assertEquals(senderhardwareaddrss,arp1.getSenderHardwareAddress());
188         Assert.assertEquals(senderhardwareaddrss,arp2.getSenderHardwareAddress());
189     }
190
191     @Test
192     public void testTargetHardwareAddress() throws Exception {
193         byte []targethardwareaddress = {0};
194
195         //set
196         arp.setTargetHardwareAddress(targethardwareaddress);
197         arp1.setTargetHardwareAddress(targethardwareaddress);
198         arp2.setTargetHardwareAddress(targethardwareaddress);
199
200         //test get
201         Assert.assertEquals(targethardwareaddress,arp.getTargetHardwareAddress());
202         Assert.assertEquals(targethardwareaddress,arp1.getTargetHardwareAddress());
203         Assert.assertEquals(targethardwareaddress,arp2.getTargetHardwareAddress());
204
205
206     }
207
208     @Test
209     public void testTargetProtocolAddress() throws Exception {
210         byte []targetpotocoladdress = {0};
211
212         //set
213         arp.setTargetProtocolAddress(targetpotocoladdress);
214         arp1.setTargetProtocolAddress(targetpotocoladdress);
215         arp2.setTargetProtocolAddress(targetpotocoladdress);
216
217         //test get
218         Assert.assertEquals(targetpotocoladdress,arp.getTargetProtocolAddress());
219         Assert.assertEquals(targetpotocoladdress,arp1.getTargetProtocolAddress());
220         Assert.assertEquals(targetpotocoladdress,arp2.getTargetProtocolAddress());
221
222     }
223
224     @Test
225     public void testSenderProtocolAddress() throws Exception {
226         byte []senderprotocoladdress = {0};
227
228         //set
229         arp.setSenderProtocolAddress(senderprotocoladdress);
230         arp1.setSenderProtocolAddress(senderprotocoladdress);
231         arp2.setSenderProtocolAddress(senderprotocoladdress);
232
233         //test get
234         Assert.assertEquals(senderprotocoladdress,arp.getSenderProtocolAddress());
235         Assert.assertEquals(senderprotocoladdress,arp1.getSenderProtocolAddress());
236         Assert.assertEquals(senderprotocoladdress,arp2.getSenderProtocolAddress());
237
238     }
239
240     @Test
241     public void testHashCode() throws Exception {
242         arp.hashCode();
243         arp1.hashCode();
244         arp2.hashCode();
245         Assert.assertNotEquals(0, arp.hashCode());
246         Assert.assertNotEquals(0,arp1.hashCode());
247         Assert.assertNotEquals(0,arp2.hashCode());
248
249     }
250
251     @Test
252     public void testEquals() throws Exception {
253         Assert.assertTrue(arp.equals(arp));
254         Assert.assertTrue(arp.equals(arp1));
255         Assert.assertTrue(arp1.equals(arp2));
256     }
257 }