acaa8ba28d4e2e78787e42a2e6c601c575ee7f98
[openflowjava.git] / third-party / openflow-codec / src / test / java / org / openflow / codec / protocol / OFPHelloTest.java
1 package org.openflow.codec.protocol;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import junit.framework.TestCase;
7
8 import org.openflow.codec.io.DataBuffers;
9 import org.openflow.codec.io.IDataBuffer;
10 import org.openflow.codec.protocol.OFPHello;
11 import org.openflow.codec.protocol.OFPHelloElemHeader;
12 import org.openflow.codec.protocol.OFPHelloElemType;
13 import org.openflow.codec.protocol.OFPHelloElemVersionBitmap;
14
15 public class OFPHelloTest extends TestCase {
16
17     private IDataBuffer buffer = DataBuffers.allocate(1024);
18
19     protected void tearDown() throws Exception {
20         super.tearDown();
21         buffer.clear();
22     }
23
24     public void testHelloElemTypeMapping() throws Exception {
25         TestCase.assertEquals(OFPHelloElemType.VERSIONBITMAP, OFPHelloElemType.valueOf((short) 1));
26     }
27
28     public void testReadWrite() {
29         OFPHello helloWriter = new OFPHello();
30         List<OFPHelloElemHeader> elements = new ArrayList<OFPHelloElemHeader>();
31         elements.add(OFPHelloElemType.VERSIONBITMAP.newInstance());
32         helloWriter.setHelloElements(elements);
33         helloWriter.writeTo(buffer);
34         buffer.flip();
35         OFPHello helloReader = new OFPHello();
36         helloReader.readFrom(buffer);
37         TestCase.assertEquals(helloWriter, helloReader);
38     }
39
40     public void testReadWriteWithBitmap() {
41         OFPHello helloWriter = new OFPHello();
42         List<OFPHelloElemHeader> elements = new ArrayList<OFPHelloElemHeader>();
43         OFPHelloElemVersionBitmap bitmap = (OFPHelloElemVersionBitmap) OFPHelloElemType.VERSIONBITMAP.newInstance();
44         bitmap.setBitmaps(new int[] { 3, 1 });
45         elements.add(bitmap);
46         helloWriter.setHelloElements(elements);
47         helloWriter.writeTo(buffer);
48         buffer.flip();
49         OFPHello helloReader = new OFPHello();
50         helloReader.readFrom(buffer);
51         TestCase.assertEquals(helloWriter, helloReader);
52     }
53
54     public void testEqualHashcode() {
55         OFPHello helloWriter = new OFPHello();
56         List<OFPHelloElemHeader> elements = new ArrayList<OFPHelloElemHeader>();
57         elements.add(OFPHelloElemType.VERSIONBITMAP.newInstance());
58         helloWriter.setHelloElements(elements);
59         helloWriter.writeTo(buffer);
60         buffer.flip();
61         OFPHello helloReader = new OFPHello();
62         helloReader.readFrom(buffer);
63         TestCase.assertEquals(helloWriter, helloReader);
64         TestCase.assertEquals(helloWriter.hashCode(), helloReader.hashCode());
65     }
66
67 }