1 package org.openflow.codec.protocol.instruction;
3 import junit.framework.TestCase;
5 import org.openflow.codec.io.DataBuffers;
6 import org.openflow.codec.io.IDataBuffer;
7 import org.openflow.codec.protocol.instruction.OFPInstructionType;
8 import org.openflow.codec.protocol.instruction.OFPInstructionWriteMetaData;
11 * test class to verify instruction structure
16 public class OFPInstructionWriteMetaDataTest extends TestCase {
18 private IDataBuffer buffer = DataBuffers.allocate(1024);
20 protected void tearDown() throws Exception {
24 public void testOFInstructionWriteMetaDataCreation() {
25 OFPInstructionWriteMetaData instruction = new OFPInstructionWriteMetaData();
26 assertTrue(instruction.type.equals(OFPInstructionType.WRITE_METADATA));
30 public void testClone() throws CloneNotSupportedException {
31 OFPInstructionWriteMetaData instruction = new OFPInstructionWriteMetaData();
32 instruction.setMetadata(2);
33 instruction.setMetadataMask(2);
34 OFPInstructionWriteMetaData instructionCloned = (OFPInstructionWriteMetaData) instruction.clone();
35 TestCase.assertEquals(instruction, instructionCloned);
37 instruction.setMetadata(1);
38 instruction.setMetadataMask(1);
39 TestCase.assertNotSame(instruction, instructionCloned);
41 instruction = (OFPInstructionWriteMetaData) instructionCloned.clone();
42 TestCase.assertEquals(instruction, instructionCloned);
45 public void testReadWriteSuccess() {
46 OFPInstructionWriteMetaData instruction = new OFPInstructionWriteMetaData();
47 instruction.setMetadata(2);
48 instruction.setMetadataMask(2);
49 instruction.writeTo(buffer);
52 OFPInstructionWriteMetaData instructionTemp = new OFPInstructionWriteMetaData();
53 instructionTemp.readFrom(buffer);
54 TestCase.assertEquals(instruction, instructionTemp);
58 public void testToString() {
59 OFPInstructionWriteMetaData instruction = new OFPInstructionWriteMetaData();
60 instruction.setMetadata(2);
61 instruction.setMetadataMask(2);
62 instruction.writeTo(buffer);
65 OFPInstructionWriteMetaData instructionTemp = new OFPInstructionWriteMetaData();
66 instructionTemp.readFrom(buffer);
67 TestCase.assertEquals(instruction.toString(), instructionTemp.toString());
70 public void testEqualHashcode() {
72 OFPInstructionWriteMetaData instruction = new OFPInstructionWriteMetaData();
73 instruction.setMetadata(2);
74 instruction.setMetadataMask(2);
75 instruction.writeTo(buffer);
78 OFPInstructionWriteMetaData instructionTemp = new OFPInstructionWriteMetaData();
79 instructionTemp.readFrom(buffer);
81 TestCase.assertTrue(instruction.equals(instructionTemp));
82 TestCase.assertEquals(instruction.hashCode(), instructionTemp.hashCode());