ONOS-4085, ONOS-4096, ONOS-4097: JUNIT for ISIS PDU data structures

Change-Id: If2ef21201d4d86a2f3f4b95365d41a01d8feda98
diff --git a/protocols/isis/isisio/src/test/java/org/onosproject/isis/io/isispacket/pdu/LsPduTest.java b/protocols/isis/isisio/src/test/java/org/onosproject/isis/io/isispacket/pdu/LsPduTest.java
new file mode 100644
index 0000000..5689950
--- /dev/null
+++ b/protocols/isis/isisio/src/test/java/org/onosproject/isis/io/isispacket/pdu/LsPduTest.java
@@ -0,0 +1,347 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.isis.io.isispacket.pdu;
+
+import org.easymock.EasyMock;
+import org.jboss.netty.buffer.ChannelBuffer;
+import org.jboss.netty.buffer.ChannelBuffers;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onosproject.isis.controller.IsisPduType;
+import org.onosproject.isis.io.isispacket.IsisHeader;
+import org.onosproject.isis.io.isispacket.tlv.HostNameTlv;
+import org.onosproject.isis.io.isispacket.tlv.TlvHeader;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+/**
+ * Unit test class for LsPdu.
+ */
+public class LsPduTest {
+    private final String lspId = "1111.1111.1111";
+    private final byte[] l1Lsp = {
+            0, 86, 4, -81, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 9, 99, 11, 1, 1, 4, 3, 73,
+            0, 10, -127, 1, -52, -119, 2, 82, 50, -124, 4, -64, -88, 10, 1, -128, 24, 10,
+            -128, -128, -128, 10, 0, 10, 0, -1, -1, -1, -4, 10, -128, -128, -128, -64, -88,
+            10, 0, -1, -1, -1, 0, 2, 12, 0, 10, -128, -128, -128, 51, 51, 51, 51, 51, 51, 2
+    };
+    private LsPdu lsPdu;
+    private IsisHeader isisHeader;
+    private TlvHeader tlvHeader;
+    private int resultInt;
+    private boolean resultBool;
+    private byte resultByte;
+    private AttachedToOtherAreas resultObj;
+    private String resultStr;
+    private ChannelBuffer channelBuffer;
+    private byte[] result;
+
+    @Before
+    public void setUp() throws Exception {
+        isisHeader = new IsisHeader();
+        tlvHeader = new TlvHeader();
+        isisHeader.setIsisPduType(IsisPduType.L1LSPDU.value());
+        lsPdu = new LsPdu(isisHeader);
+        channelBuffer = EasyMock.createMock(ChannelBuffer.class);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        isisHeader = null;
+        lsPdu = null;
+        tlvHeader = null;
+        channelBuffer = null;
+    }
+
+    /**
+     * Tests addTlv()  method.
+     */
+    @Test
+    public void testAddTlv() throws Exception {
+        lsPdu.addTlv(new HostNameTlv(tlvHeader));
+        assertThat(lsPdu, is(notNullValue()));
+    }
+
+    /**
+     * Tests remainingLifeTime() getter method.
+     */
+    @Test
+    public void testRemainingLifeTime() throws Exception {
+        lsPdu.setRemainingLifeTime(10);
+        resultInt = lsPdu.remainingLifeTime();
+        assertThat(resultInt, is(10));
+    }
+
+    /**
+     * Tests remainingLifeTime() setter method.
+     */
+    @Test
+    public void testSetRemainingLifeTime() throws Exception {
+        lsPdu.setRemainingLifeTime(10);
+        resultInt = lsPdu.remainingLifeTime();
+        assertThat(resultInt, is(10));
+    }
+
+    /**
+     * Tests lspDbol() getter method.
+     */
+    @Test
+    public void testLspDbol() throws Exception {
+        lsPdu.setLspDbol(true);
+        resultBool = lsPdu.lspDbol();
+        assertThat(resultBool, is(true));
+    }
+
+    /**
+     * Tests lspDbol() setter method.
+     */
+    @Test
+    public void testSetLspDbol() throws Exception {
+        lsPdu.setLspDbol(true);
+        resultBool = lsPdu.lspDbol();
+        assertThat(resultBool, is(true));
+    }
+
+    /**
+     * Tests typeBlock() getter method.
+     */
+    @Test
+    public void testTypeBlock() throws Exception {
+        lsPdu.setTypeBlock((byte) 1);
+        resultByte = lsPdu.typeBlock();
+        assertThat(resultByte, is((byte) 1));
+    }
+
+    /**
+     * Tests typeBlock() setter method.
+     */
+    @Test
+    public void testSetTypeBlock() throws Exception {
+        lsPdu.setTypeBlock((byte) 1);
+        resultByte = lsPdu.typeBlock();
+        assertThat(resultByte, is((byte) 1));
+    }
+
+    /**
+     * Tests sequenceNumber() getter method.
+     */
+    @Test
+    public void testSequenceNumber() throws Exception {
+        lsPdu.setSequenceNumber(1);
+        resultInt = lsPdu.sequenceNumber();
+        assertThat(resultInt, is(1));
+    }
+
+    /**
+     * Tests sequenceNumber() setter method.
+     */
+    @Test
+    public void testSetSequenceNumber() throws Exception {
+        lsPdu.setSequenceNumber(1);
+        resultInt = lsPdu.sequenceNumber();
+        assertThat(resultInt, is(1));
+    }
+
+    /**
+     * Tests checkSum() getter method.
+     */
+    @Test
+    public void testCheckSum() throws Exception {
+        lsPdu.setCheckSum(1);
+        resultInt = lsPdu.checkSum();
+        assertThat(resultInt, is(1));
+    }
+
+    /**
+     * Tests checkSum() setter method.
+     */
+    @Test
+    public void testSetCheckSum() throws Exception {
+        lsPdu.setCheckSum(1);
+        resultInt = lsPdu.checkSum();
+        assertThat(resultInt, is(1));
+    }
+
+    /**
+     * Tests partitionRepair() getter method.
+     */
+    @Test
+    public void testPartitionRepair() throws Exception {
+        lsPdu.setPartitionRepair(true);
+        resultBool = lsPdu.partitionRepair();
+        assertThat(resultBool, is(true));
+    }
+
+    /**
+     * Tests partitionRepair() setter method.
+     */
+    @Test
+    public void testSetPartitionRepair() throws Exception {
+        lsPdu.setPartitionRepair(true);
+        resultBool = lsPdu.partitionRepair();
+        assertThat(resultBool, is(true));
+    }
+
+    /**
+     * Tests attachedToOtherAreas() getter method.
+     */
+    @Test
+    public void testAttachedToOtherAreas() throws Exception {
+        lsPdu.setAttachedToOtherAreas(AttachedToOtherAreas.DEFAULTMETRIC);
+        resultObj = lsPdu.attachedToOtherAreas();
+        assertThat(resultObj, is(AttachedToOtherAreas.DEFAULTMETRIC));
+    }
+
+    /**
+     * Tests attachedToOtherAreas() setter method.
+     */
+    @Test
+    public void testSetAttachedToOtherAreas() throws Exception {
+        lsPdu.setAttachedToOtherAreas(AttachedToOtherAreas.DEFAULTMETRIC);
+        resultObj = lsPdu.attachedToOtherAreas();
+        assertThat(resultObj, is(AttachedToOtherAreas.DEFAULTMETRIC));
+    }
+
+    /**
+     * Tests intermediateSystemType() getter method.
+     */
+    @Test
+    public void testIntermediateSystemType() throws Exception {
+        lsPdu.setIntermediateSystemType((byte) 1);
+        resultByte = lsPdu.intermediateSystemType();
+        assertThat(resultByte, is((byte) 1));
+    }
+
+    /**
+     * Tests intermediateSystemType() setter method.
+     */
+    @Test
+    public void testSetIntermediateSystemType() throws Exception {
+        lsPdu.setIntermediateSystemType((byte) 1);
+        resultByte = lsPdu.intermediateSystemType();
+        assertThat(resultByte, is((byte) 1));
+    }
+
+    /**
+     * Tests lspId() getter method.
+     */
+    @Test
+    public void testLspId() throws Exception {
+        lsPdu.setLspId(lspId);
+        resultStr = lsPdu.lspId();
+        assertThat(resultStr, is(lspId));
+    }
+
+    /**
+     * Tests lspId() setter method.
+     */
+    @Test
+    public void testSetLspId() throws Exception {
+        lsPdu.setLspId(lspId);
+        resultStr = lsPdu.lspId();
+        assertThat(resultStr, is(lspId));
+    }
+
+    /**
+     * Tests pduLength() getter method.
+     */
+    @Test
+    public void testPduLength() throws Exception {
+        lsPdu.setPduLength(10);
+        resultInt = lsPdu.pduLength();
+        assertThat(resultInt, is(10));
+    }
+
+    /**
+     * Tests pduLength() setter method.
+     */
+    @Test
+    public void testSetPduLength() throws Exception {
+        lsPdu.setPduLength(10);
+        resultInt = lsPdu.pduLength();
+        assertThat(resultInt, is(10));
+    }
+
+    /**
+     * Tests readFrom() method.
+     */
+    @Test
+    public void testReadFrom() throws Exception {
+        channelBuffer = ChannelBuffers.copiedBuffer(l1Lsp);
+        lsPdu.readFrom(channelBuffer);
+        assertThat(lsPdu, is(notNullValue()));
+    }
+
+    /**
+     * Tests asBytes()  method.
+     */
+    @Test
+    public void testAsBytes() throws Exception {
+        channelBuffer = ChannelBuffers.copiedBuffer(l1Lsp);
+        lsPdu.readFrom(channelBuffer);
+        result = lsPdu.asBytes();
+        assertThat(result, is(notNullValue()));
+    }
+
+    /**
+     * Tests l1l2IsisPduHeader()  method.
+     */
+    @Test
+    public void testL1l2IsisPduHeader() throws Exception {
+        result = lsPdu.l1l2IsisPduHeader();
+        assertThat(result, is(notNullValue()));
+    }
+
+    /**
+     * Tests l1l2LsPduBody()  method.
+     */
+    @Test
+    public void testL1l2LsPduBody() throws Exception {
+        channelBuffer = ChannelBuffers.copiedBuffer(l1Lsp);
+        lsPdu.readFrom(channelBuffer);
+        result = lsPdu.l1l2LsPduBody();
+        assertThat(result, is(notNullValue()));
+    }
+
+    /**
+     * Tests toString()  method.
+     */
+    @Test
+    public void testToString() throws Exception {
+        assertThat(lsPdu.toString(), is(notNullValue()));
+    }
+
+    /**
+     * Tests equals()  method.
+     */
+    @Test
+    public void testEquals() throws Exception {
+        assertThat(lsPdu.equals(new LsPdu(new IsisHeader())), is(true));
+    }
+
+    /**
+     * Tests hashCode()  method.
+     */
+    @Test
+    public void testHashCode() throws Exception {
+        resultInt = lsPdu.hashCode();
+        assertThat(resultInt, is(notNullValue()));
+    }
+}