new serialization factories and tests
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / ExperimenterInputMessageFactoryTest.java
index a7de110d04318a7f5becd0f65015be46b14f35de..8615225f45fff98eea7c9017d545e100af2b8d37 100644 (file)
@@ -13,7 +13,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 \r
 /**\r
  * @author michal.polkorab\r
- *\r
+ * @author timotej.kubas\r
  */\r
 public class ExperimenterInputMessageFactoryTest {\r
 \r
@@ -25,20 +25,26 @@ public class ExperimenterInputMessageFactoryTest {
      */\r
     @Test\r
     public void test() throws Exception {\r
-        ExperimenterInputBuilder eib = new ExperimenterInputBuilder();\r
-        BufferHelper.setupHeader(eib);\r
-        eib.setExperimenter(0x0001020304L);\r
-        eib.setExpType(0x0001020304L);\r
-        ExperimenterInput ei = eib.build();\r
+        ExperimenterInputBuilder builder = new ExperimenterInputBuilder();\r
+        BufferHelper.setupHeader(builder);\r
+        builder.setExperimenter(0x0001020304L);\r
+        builder.setExpType(0x0001020304L);\r
+        builder.setData(new byte[] {0x01, 0x02, 0x03});\r
+        ExperimenterInput message = builder.build();\r
         \r
         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
-        ExperimenterInputMessageFactory eimf = ExperimenterInputMessageFactory.getInstance();\r
-        eimf.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, ei);\r
+        ExperimenterInputMessageFactory factory = ExperimenterInputMessageFactory.getInstance();\r
+        factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);\r
         \r
-        BufferHelper.checkHeaderV13(out, EXPERIMENTER_REQUEST_MESSAGE_CODE_TYPE, 16);\r
+        BufferHelper.checkHeaderV13(out, EXPERIMENTER_REQUEST_MESSAGE_CODE_TYPE, factory.computeLength());\r
         Assert.assertEquals("Wrong experimenter", 0x0001020304L, out.readUnsignedInt());\r
         Assert.assertEquals("Wrong expType", 0x0001020304L, out.readUnsignedInt());\r
+        Assert.assertArrayEquals("Wrong data", message.getData(), readData(out));\r
+    }\r
+    \r
+    private static byte[] readData(ByteBuf input) {\r
+        byte[] data = new byte[input.readableBytes()]; \r
+        input.readBytes(data);\r
+        return data;\r
     }\r
-\r
-\r
 }\r