Mass replace CRLF->LF
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / deserialization / factories / multipart / MultipartReplyTableFeaturesTest.java
index 64ad0970ed17c54be8ac463a95802d52f2e9f7b5..2b223ca248e0d27a16cb9b0022c56b31bd80986b 100644 (file)
-/*\r
- * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.openflowjava.protocol.impl.deserialization.factories.multipart;\r
-\r
-import io.netty.buffer.ByteBuf;\r
-\r
-import java.util.List;\r
-\r
-import org.junit.Assert;\r
-import org.junit.Test;\r
-import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory;\r
-import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.NextTableRelatedTableFeatureProperty;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.table.features.properties.container.table.feature.properties.NextTableIds;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.TableFeaturesPropType;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessage;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableFeaturesCase;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.MultipartReplyTableFeatures;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features.TableFeatures;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;\r
-\r
-/**\r
- * @author michal.polkorab\r
- *\r
- */\r
-public class MultipartReplyTableFeaturesTest {\r
-\r
-    private MultipartReplyMessageFactory factory = new MultipartReplyMessageFactory();\r
-\r
-    /**\r
-     * Testing {@link MultipartReplyMessageFactory} for correct translation into POJO\r
-     */\r
-    @Test\r
-    public void testEmptyMultipartReplyTableFeatures() {\r
-        ByteBuf bb = BufferHelper.buildBuffer("00 0C 00 00 00 00 00 00");\r
-        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(factory, bb);\r
-\r
-        BufferHelper.checkHeaderV13(builtByFactory);\r
-        Assert.assertEquals("Wrong type", 12, builtByFactory.getType().getIntValue());\r
-        Assert.assertEquals("Wrong flag", false, builtByFactory.getFlags().isOFPMPFREQMORE());\r
-        MultipartReplyTableFeaturesCase messageCase = (MultipartReplyTableFeaturesCase) builtByFactory.getMultipartReplyBody();\r
-        MultipartReplyTableFeatures message = messageCase.getMultipartReplyTableFeatures();\r
-        Assert.assertEquals("Wrong table features size", 0, message.getTableFeatures().size());\r
-    }\r
-\r
-    /**\r
-     * Testing {@link MultipartReplyMessageFactory} for correct translation into POJO\r
-     */\r
-    @Test\r
-    public void testMultipartReplyTableFeatures() {\r
-        ByteBuf bb = BufferHelper.buildBuffer("00 0C 00 00 00 00 00 00 "+\r
-                                              // first table feature\r
-                                              "00 40 01 00 00 00 00 00 "+// length, tableId, padding\r
-                                              "4F 70 65 6E 64 61 79 6C 69 67 68 74 00 00 00 00 00 00 00 "+\r
-                                              "00 00 00 00 00 00 00 00 00 00 00 00 00 "+// name\r
-                                              "00 00 00 00 00 00 00 01 "+// metadata match\r
-                                              "00 00 00 00 00 00 00 02 "+// metadata write\r
-                                              "00 00 00 00 "+// config\r
-                                              "00 00 00 2A "+// max entries\r
-                                              // second table feature\r
-                                              "00 40 02 00 00 00 00 00 "+// length, tableId, padding\r
-                                              "4F 70 65 6E 64 61 79 6C 69 67 68 74 00 00 00 00 00 00 00"\r
-                                              + " 00 00 00 00 00 00 00 00 00 00 00 00 00 "+// name\r
-                                              "00 00 00 00 00 00 00 03 "+// metadata match\r
-                                              "00 00 00 00 00 00 00 04 "+// metadata write\r
-                                              "00 00 00 03 "+// config\r
-                                              "00 00 00 2B"  // max entries\r
-                                              );\r
-        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(factory, bb);\r
-\r
-        BufferHelper.checkHeaderV13(builtByFactory);\r
-        Assert.assertEquals("Wrong type", 12, builtByFactory.getType().getIntValue());\r
-        Assert.assertEquals("Wrong flag", false, builtByFactory.getFlags().isOFPMPFREQMORE());\r
-        MultipartReplyTableFeaturesCase messageCase = (MultipartReplyTableFeaturesCase) builtByFactory.getMultipartReplyBody();\r
-        MultipartReplyTableFeatures message = messageCase.getMultipartReplyTableFeatures();\r
-        Assert.assertEquals("Wrong table features size", 2, message.getTableFeatures().size());\r
-        TableFeatures feature = message.getTableFeatures().get(0);\r
-        Assert.assertEquals("Wrong table id", 1, feature.getTableId().intValue());\r
-        Assert.assertEquals("Wrong name", "Opendaylight", feature.getName());\r
-        Assert.assertArrayEquals("Wrong metadata match", new byte[]{0, 0, 0, 0, 0, 0, 0, 1}, feature.getMetadataMatch());\r
-        Assert.assertArrayEquals("Wrong metadata write", new byte[]{0, 0, 0, 0, 0, 0, 0, 2}, feature.getMetadataWrite());\r
-        Assert.assertEquals("Wrong config", false, feature.getConfig().isOFPTCDEPRECATEDMASK());\r
-        Assert.assertEquals("Wrong max entries", 42, feature.getMaxEntries().intValue());\r
-        feature = message.getTableFeatures().get(1);\r
-        Assert.assertEquals("Wrong table id", 2, feature.getTableId().intValue());\r
-        Assert.assertEquals("Wrong name", "Opendaylight", feature.getName());\r
-        Assert.assertArrayEquals("Wrong metadata match", new byte[]{0, 0, 0, 0, 0, 0, 0, 3}, feature.getMetadataMatch());\r
-        Assert.assertArrayEquals("Wrong metadata write", new byte[]{0, 0, 0, 0, 0, 0, 0, 4}, feature.getMetadataWrite());\r
-        Assert.assertEquals("Wrong config", true, feature.getConfig().isOFPTCDEPRECATEDMASK());\r
-        Assert.assertEquals("Wrong max entries", 43, feature.getMaxEntries().intValue());\r
-    }\r
-\r
-    /**\r
-     * Testing {@link MultipartReplyMessageFactory} for correct translation into POJO\r
-     */\r
-    @Test\r
-    public void testMultipartReplyTableFeatures2() {\r
-        ByteBuf bb = BufferHelper.buildBuffer("00 0C 00 00 00 00 00 00 "+\r
-                                              "00 B0 01 00 00 00 00 00 "+// length, tableId, padding\r
-                                              "4F 70 65 6E 64 61 79 6C 69 67 68 74 00 00 00 00 00 00 00 "+\r
-                                              "00 00 00 00 00 00 00 00 00 00 00 00 00 "+// name\r
-                                              "00 00 00 00 00 00 00 01 "+// metadata match\r
-                                              "00 00 00 00 00 00 00 02 "+// metadata write\r
-                                              "00 00 00 00 "+// config\r
-                                              "00 00 00 2A "+// max entries\r
-                                              "00 00 00 04 00 00 00 00 "+\r
-                                              "00 01 00 04 00 00 00 00 "+\r
-                                              "00 02 00 08 01 02 03 04 "+\r
-                                              "00 03 00 07 05 06 07 00 "+\r
-                                              "00 04 00 04 00 00 00 00 "+\r
-                                              "00 05 00 04 00 00 00 00 "+\r
-                                              "00 06 00 04 00 00 00 00 "+\r
-                                              "00 07 00 04 00 00 00 00 "+\r
-                                              "00 08 00 04 00 00 00 00 "+\r
-                                              "00 0A 00 04 00 00 00 00 "+\r
-                                              "00 0C 00 04 00 00 00 00 "+\r
-                                              "00 0D 00 04 00 00 00 00 "+\r
-                                              "00 0E 00 04 00 00 00 00 "+\r
-                                              "00 0F 00 04 00 00 00 00"\r
-                                              );\r
-        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(factory, bb);\r
-\r
-        BufferHelper.checkHeaderV13(builtByFactory);\r
-        Assert.assertEquals("Wrong type", 12, builtByFactory.getType().getIntValue());\r
-        Assert.assertEquals("Wrong flag", false, builtByFactory.getFlags().isOFPMPFREQMORE());\r
-        MultipartReplyTableFeaturesCase messageCase = (MultipartReplyTableFeaturesCase) builtByFactory.getMultipartReplyBody();\r
-        MultipartReplyTableFeatures message = messageCase.getMultipartReplyTableFeatures();\r
-        Assert.assertEquals("Wrong table features size", 1, message.getTableFeatures().size());\r
-        TableFeatures feature = message.getTableFeatures().get(0);\r
-        Assert.assertEquals("Wrong table id", 1, feature.getTableId().intValue());\r
-        Assert.assertEquals("Wrong name", "Opendaylight", feature.getName());\r
-        Assert.assertArrayEquals("Wrong metadata match", new byte[]{0, 0, 0, 0, 0, 0, 0, 1}, feature.getMetadataMatch());\r
-        Assert.assertArrayEquals("Wrong metadata write", new byte[]{0, 0, 0, 0, 0, 0, 0, 2}, feature.getMetadataWrite());\r
-        Assert.assertEquals("Wrong config", false, feature.getConfig().isOFPTCDEPRECATEDMASK());\r
-        Assert.assertEquals("Wrong max entries", 42, feature.getMaxEntries().intValue());\r
-        Assert.assertEquals("Wrong properties size", 14, feature.getTableFeatureProperties().size());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTINSTRUCTIONS,\r
-                feature.getTableFeatureProperties().get(0).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTINSTRUCTIONSMISS,\r
-                feature.getTableFeatureProperties().get(1).getType());\r
-        TableFeatureProperties property = feature.getTableFeatureProperties().get(2);\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTNEXTTABLES,\r
-                property.getType());\r
-        List<NextTableIds> tableIds = property.getAugmentation(NextTableRelatedTableFeatureProperty.class)\r
-                .getNextTableIds();\r
-        Assert.assertEquals("Wrong next table id size", 4, tableIds.size());\r
-        Assert.assertEquals("Wrong next table id", 1, tableIds.get(0).getTableId().intValue());\r
-        Assert.assertEquals("Wrong next table id", 2, tableIds.get(1).getTableId().intValue());\r
-        Assert.assertEquals("Wrong next table id", 3, tableIds.get(2).getTableId().intValue());\r
-        Assert.assertEquals("Wrong next table id", 4, tableIds.get(3).getTableId().intValue());\r
-        property = feature.getTableFeatureProperties().get(3);\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTNEXTTABLESMISS,\r
-                property.getType());\r
-        tableIds = property.getAugmentation(NextTableRelatedTableFeatureProperty.class)\r
-                .getNextTableIds();\r
-        Assert.assertEquals("Wrong next table id size", 3, tableIds.size());\r
-        Assert.assertEquals("Wrong next table id", 5, tableIds.get(0).getTableId().intValue());\r
-        Assert.assertEquals("Wrong next table id", 6, tableIds.get(1).getTableId().intValue());\r
-        Assert.assertEquals("Wrong next table id", 7, tableIds.get(2).getTableId().intValue());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWRITEACTIONS,\r
-                feature.getTableFeatureProperties().get(4).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWRITEACTIONSMISS,\r
-                feature.getTableFeatureProperties().get(5).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTAPPLYACTIONS,\r
-                feature.getTableFeatureProperties().get(6).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTAPPLYACTIONSMISS,\r
-                feature.getTableFeatureProperties().get(7).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTMATCH,\r
-                feature.getTableFeatureProperties().get(8).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWILDCARDS,\r
-                feature.getTableFeatureProperties().get(9).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWRITESETFIELD,\r
-                feature.getTableFeatureProperties().get(10).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWRITESETFIELDMISS,\r
-                feature.getTableFeatureProperties().get(11).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTAPPLYSETFIELD,\r
-                feature.getTableFeatureProperties().get(12).getType());\r
-        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTAPPLYSETFIELDMISS,\r
-                feature.getTableFeatureProperties().get(13).getType());\r
-    }\r
+/*
+ * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.openflowjava.protocol.impl.deserialization.factories.multipart;
+
+import io.netty.buffer.ByteBuf;
+
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory;
+import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.NextTableRelatedTableFeatureProperty;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.table.features.properties.container.table.feature.properties.NextTableIds;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.TableFeaturesPropType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessage;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableFeaturesCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.MultipartReplyTableFeatures;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features.TableFeatures;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;
+
+/**
+ * @author michal.polkorab
+ *
+ */
+public class MultipartReplyTableFeaturesTest {
+
+    private MultipartReplyMessageFactory factory = new MultipartReplyMessageFactory();
+
+    /**
+     * Testing {@link MultipartReplyMessageFactory} for correct translation into POJO
+     */
+    @Test
+    public void testEmptyMultipartReplyTableFeatures() {
+        ByteBuf bb = BufferHelper.buildBuffer("00 0C 00 00 00 00 00 00");
+        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(factory, bb);
+
+        BufferHelper.checkHeaderV13(builtByFactory);
+        Assert.assertEquals("Wrong type", 12, builtByFactory.getType().getIntValue());
+        Assert.assertEquals("Wrong flag", false, builtByFactory.getFlags().isOFPMPFREQMORE());
+        MultipartReplyTableFeaturesCase messageCase = (MultipartReplyTableFeaturesCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyTableFeatures message = messageCase.getMultipartReplyTableFeatures();
+        Assert.assertEquals("Wrong table features size", 0, message.getTableFeatures().size());
+    }
+
+    /**
+     * Testing {@link MultipartReplyMessageFactory} for correct translation into POJO
+     */
+    @Test
+    public void testMultipartReplyTableFeatures() {
+        ByteBuf bb = BufferHelper.buildBuffer("00 0C 00 00 00 00 00 00 "+
+                                              // first table feature
+                                              "00 40 01 00 00 00 00 00 "+// length, tableId, padding
+                                              "4F 70 65 6E 64 61 79 6C 69 67 68 74 00 00 00 00 00 00 00 "+
+                                              "00 00 00 00 00 00 00 00 00 00 00 00 00 "+// name
+                                              "00 00 00 00 00 00 00 01 "+// metadata match
+                                              "00 00 00 00 00 00 00 02 "+// metadata write
+                                              "00 00 00 00 "+// config
+                                              "00 00 00 2A "+// max entries
+                                              // second table feature
+                                              "00 40 02 00 00 00 00 00 "+// length, tableId, padding
+                                              "4F 70 65 6E 64 61 79 6C 69 67 68 74 00 00 00 00 00 00 00"
+                                              + " 00 00 00 00 00 00 00 00 00 00 00 00 00 "+// name
+                                              "00 00 00 00 00 00 00 03 "+// metadata match
+                                              "00 00 00 00 00 00 00 04 "+// metadata write
+                                              "00 00 00 03 "+// config
+                                              "00 00 00 2B"  // max entries
+                                              );
+        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(factory, bb);
+
+        BufferHelper.checkHeaderV13(builtByFactory);
+        Assert.assertEquals("Wrong type", 12, builtByFactory.getType().getIntValue());
+        Assert.assertEquals("Wrong flag", false, builtByFactory.getFlags().isOFPMPFREQMORE());
+        MultipartReplyTableFeaturesCase messageCase = (MultipartReplyTableFeaturesCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyTableFeatures message = messageCase.getMultipartReplyTableFeatures();
+        Assert.assertEquals("Wrong table features size", 2, message.getTableFeatures().size());
+        TableFeatures feature = message.getTableFeatures().get(0);
+        Assert.assertEquals("Wrong table id", 1, feature.getTableId().intValue());
+        Assert.assertEquals("Wrong name", "Opendaylight", feature.getName());
+        Assert.assertArrayEquals("Wrong metadata match", new byte[]{0, 0, 0, 0, 0, 0, 0, 1}, feature.getMetadataMatch());
+        Assert.assertArrayEquals("Wrong metadata write", new byte[]{0, 0, 0, 0, 0, 0, 0, 2}, feature.getMetadataWrite());
+        Assert.assertEquals("Wrong config", false, feature.getConfig().isOFPTCDEPRECATEDMASK());
+        Assert.assertEquals("Wrong max entries", 42, feature.getMaxEntries().intValue());
+        feature = message.getTableFeatures().get(1);
+        Assert.assertEquals("Wrong table id", 2, feature.getTableId().intValue());
+        Assert.assertEquals("Wrong name", "Opendaylight", feature.getName());
+        Assert.assertArrayEquals("Wrong metadata match", new byte[]{0, 0, 0, 0, 0, 0, 0, 3}, feature.getMetadataMatch());
+        Assert.assertArrayEquals("Wrong metadata write", new byte[]{0, 0, 0, 0, 0, 0, 0, 4}, feature.getMetadataWrite());
+        Assert.assertEquals("Wrong config", true, feature.getConfig().isOFPTCDEPRECATEDMASK());
+        Assert.assertEquals("Wrong max entries", 43, feature.getMaxEntries().intValue());
+    }
+
+    /**
+     * Testing {@link MultipartReplyMessageFactory} for correct translation into POJO
+     */
+    @Test
+    public void testMultipartReplyTableFeatures2() {
+        ByteBuf bb = BufferHelper.buildBuffer("00 0C 00 00 00 00 00 00 "+
+                                              "00 B0 01 00 00 00 00 00 "+// length, tableId, padding
+                                              "4F 70 65 6E 64 61 79 6C 69 67 68 74 00 00 00 00 00 00 00 "+
+                                              "00 00 00 00 00 00 00 00 00 00 00 00 00 "+// name
+                                              "00 00 00 00 00 00 00 01 "+// metadata match
+                                              "00 00 00 00 00 00 00 02 "+// metadata write
+                                              "00 00 00 00 "+// config
+                                              "00 00 00 2A "+// max entries
+                                              "00 00 00 04 00 00 00 00 "+
+                                              "00 01 00 04 00 00 00 00 "+
+                                              "00 02 00 08 01 02 03 04 "+
+                                              "00 03 00 07 05 06 07 00 "+
+                                              "00 04 00 04 00 00 00 00 "+
+                                              "00 05 00 04 00 00 00 00 "+
+                                              "00 06 00 04 00 00 00 00 "+
+                                              "00 07 00 04 00 00 00 00 "+
+                                              "00 08 00 04 00 00 00 00 "+
+                                              "00 0A 00 04 00 00 00 00 "+
+                                              "00 0C 00 04 00 00 00 00 "+
+                                              "00 0D 00 04 00 00 00 00 "+
+                                              "00 0E 00 04 00 00 00 00 "+
+                                              "00 0F 00 04 00 00 00 00"
+                                              );
+        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(factory, bb);
+
+        BufferHelper.checkHeaderV13(builtByFactory);
+        Assert.assertEquals("Wrong type", 12, builtByFactory.getType().getIntValue());
+        Assert.assertEquals("Wrong flag", false, builtByFactory.getFlags().isOFPMPFREQMORE());
+        MultipartReplyTableFeaturesCase messageCase = (MultipartReplyTableFeaturesCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyTableFeatures message = messageCase.getMultipartReplyTableFeatures();
+        Assert.assertEquals("Wrong table features size", 1, message.getTableFeatures().size());
+        TableFeatures feature = message.getTableFeatures().get(0);
+        Assert.assertEquals("Wrong table id", 1, feature.getTableId().intValue());
+        Assert.assertEquals("Wrong name", "Opendaylight", feature.getName());
+        Assert.assertArrayEquals("Wrong metadata match", new byte[]{0, 0, 0, 0, 0, 0, 0, 1}, feature.getMetadataMatch());
+        Assert.assertArrayEquals("Wrong metadata write", new byte[]{0, 0, 0, 0, 0, 0, 0, 2}, feature.getMetadataWrite());
+        Assert.assertEquals("Wrong config", false, feature.getConfig().isOFPTCDEPRECATEDMASK());
+        Assert.assertEquals("Wrong max entries", 42, feature.getMaxEntries().intValue());
+        Assert.assertEquals("Wrong properties size", 14, feature.getTableFeatureProperties().size());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTINSTRUCTIONS,
+                feature.getTableFeatureProperties().get(0).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTINSTRUCTIONSMISS,
+                feature.getTableFeatureProperties().get(1).getType());
+        TableFeatureProperties property = feature.getTableFeatureProperties().get(2);
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTNEXTTABLES,
+                property.getType());
+        List<NextTableIds> tableIds = property.getAugmentation(NextTableRelatedTableFeatureProperty.class)
+                .getNextTableIds();
+        Assert.assertEquals("Wrong next table id size", 4, tableIds.size());
+        Assert.assertEquals("Wrong next table id", 1, tableIds.get(0).getTableId().intValue());
+        Assert.assertEquals("Wrong next table id", 2, tableIds.get(1).getTableId().intValue());
+        Assert.assertEquals("Wrong next table id", 3, tableIds.get(2).getTableId().intValue());
+        Assert.assertEquals("Wrong next table id", 4, tableIds.get(3).getTableId().intValue());
+        property = feature.getTableFeatureProperties().get(3);
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTNEXTTABLESMISS,
+                property.getType());
+        tableIds = property.getAugmentation(NextTableRelatedTableFeatureProperty.class)
+                .getNextTableIds();
+        Assert.assertEquals("Wrong next table id size", 3, tableIds.size());
+        Assert.assertEquals("Wrong next table id", 5, tableIds.get(0).getTableId().intValue());
+        Assert.assertEquals("Wrong next table id", 6, tableIds.get(1).getTableId().intValue());
+        Assert.assertEquals("Wrong next table id", 7, tableIds.get(2).getTableId().intValue());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWRITEACTIONS,
+                feature.getTableFeatureProperties().get(4).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWRITEACTIONSMISS,
+                feature.getTableFeatureProperties().get(5).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTAPPLYACTIONS,
+                feature.getTableFeatureProperties().get(6).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTAPPLYACTIONSMISS,
+                feature.getTableFeatureProperties().get(7).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTMATCH,
+                feature.getTableFeatureProperties().get(8).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWILDCARDS,
+                feature.getTableFeatureProperties().get(9).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWRITESETFIELD,
+                feature.getTableFeatureProperties().get(10).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTWRITESETFIELDMISS,
+                feature.getTableFeatureProperties().get(11).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTAPPLYSETFIELD,
+                feature.getTableFeatureProperties().get(12).getType());
+        Assert.assertEquals("Wrong property type", TableFeaturesPropType.OFPTFPTAPPLYSETFIELDMISS,
+                feature.getTableFeatureProperties().get(13).getType());
+    }
 }
\ No newline at end of file