Bug 1254 - Added unit tests
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / TableFeaturesReplyConvertorTest.java
diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/TableFeaturesReplyConvertorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/TableFeaturesReplyConvertorTest.java
new file mode 100644 (file)
index 0000000..64d0daf
--- /dev/null
@@ -0,0 +1,573 @@
+/*\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.openflowplugin.openflow.md.core.sal.convertor;\r
+\r
+import java.math.BigInteger;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.junit.Assert;\r
+import org.junit.Test;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ActionRelatedTableFeatureProperty;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ActionRelatedTableFeaturePropertyBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.InstructionRelatedTableFeatureProperty;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.InstructionRelatedTableFeaturePropertyBuilder;\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.NextTableRelatedTableFeaturePropertyBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.OxmRelatedTableFeatureProperty;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.OxmRelatedTableFeaturePropertyBuilder;\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.augments.rev131002.table.features.properties.container.table.feature.properties.NextTableIdsBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.CopyTtlIn;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.CopyTtlOut;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.DecMplsTtl;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.Group;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.Output;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PopPbb;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PopVlan;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushPbb;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushVlan;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.SetField;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.SetMplsTtl;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.SetNwTtl;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.ApplyActions;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.ClearActions;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.GotoTable;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.Meter;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.WriteActions;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.WriteMetadata;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instructions.grouping.Instruction;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instructions.grouping.InstructionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.TableConfig;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.TableFeaturesPropType;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.EthDst;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.EthSrc;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.InPhyPort;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.InPort;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.IpEcn;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.IpProto;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6Exthdr;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OpenflowBasicClass;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TcpSrc;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.UdpDst;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.UdpSrc;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.VlanPcp;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.VlanVid;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntries;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntriesBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.MultipartReplyTableFeaturesBuilder;\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.TableFeaturesBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeaturePropertiesBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.set.field.match.SetFieldMatch;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.ApplySetfield;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.ApplySetfieldMiss;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.Instructions;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.InstructionsMiss;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.Match;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.NextTable;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.NextTableMiss;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.Wildcards;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.WriteSetfield;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.WriteSetfieldMiss;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.features.TableFeatures;\r
+\r
+/**\r
+ * @author michal.polkorab\r
+ *\r
+ */\r
+public class TableFeaturesReplyConvertorTest {\r
+\r
+    /**\r
+     * Incorrect / empty input test\r
+     */\r
+    @Test\r
+    public void test() {\r
+        List<TableFeatures> list = TableFeaturesReplyConvertor.toTableFeaturesReply(null);\r
+        Assert.assertEquals("Returned list is not empty", 0, list.size());\r
+    }\r
+\r
+    /**\r
+     * Incorrect / empty input test\r
+     */\r
+    @Test\r
+    public void test2() {\r
+        MultipartReplyTableFeaturesBuilder builder = new MultipartReplyTableFeaturesBuilder();\r
+        List<TableFeatures> list = TableFeaturesReplyConvertor.toTableFeaturesReply(builder.build());\r
+        Assert.assertEquals("Returned list is not empty", 0, list.size());\r
+    }\r
+\r
+    /**\r
+     * Test correct input - without table properties\r
+     */\r
+    @Test\r
+    public void testWithMPTableFeature() {\r
+        MultipartReplyTableFeaturesBuilder builder = new MultipartReplyTableFeaturesBuilder();\r
+        List<org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart\r
+        .reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features\r
+        .TableFeatures> features = new ArrayList<>();\r
+        TableFeaturesBuilder featuresBuilder = new TableFeaturesBuilder();\r
+        featuresBuilder.setTableId((short) 5);\r
+        featuresBuilder.setName("Aloha");\r
+        byte[] metaMatch = new byte[]{0, 1, 2, 3, 4, 5, 6, 7};\r
+        featuresBuilder.setMetadataMatch(metaMatch);\r
+        byte[] metaWrite = new byte[]{8, 9, 10, 11, 12, 13, 14, 15};\r
+        featuresBuilder.setMetadataWrite(metaWrite);\r
+        featuresBuilder.setConfig(new TableConfig(false));\r
+        featuresBuilder.setMaxEntries(42L);\r
+        features.add(featuresBuilder.build());\r
+        builder.setTableFeatures(features);\r
+        List<TableFeatures> list = TableFeaturesReplyConvertor.toTableFeaturesReply(builder.build());\r
+        Assert.assertEquals("Returned empty list", 1, list.size());\r
+        TableFeatures feature = list.get(0);\r
+        Assert.assertEquals("Wrong table-id", 5, feature.getTableId().intValue());\r
+        Assert.assertEquals("Wrong name", "Aloha", feature.getName());\r
+        Assert.assertEquals("Wrong metadata match", new BigInteger(1, metaMatch), feature.getMetadataMatch());\r
+        Assert.assertEquals("Wrong metadata write", new BigInteger(1, metaWrite), feature.getMetadataWrite());\r
+        Assert.assertEquals("Wrong config", false, feature.getConfig().isDEPRECATEDMASK());\r
+        Assert.assertEquals("Wrong max-entries", 42, feature.getMaxEntries().intValue());\r
+        Assert.assertEquals("Wrong properties", 0, feature.getTableProperties().getTableFeatureProperties().size());\r
+    }\r
+\r
+    /**\r
+     * Test correct input\r
+     */\r
+    @Test\r
+    public void testWithMPTableFeatureWithProperties() {\r
+        MultipartReplyTableFeaturesBuilder builder = new MultipartReplyTableFeaturesBuilder();\r
+        List<org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart\r
+        .reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features\r
+        .TableFeatures> features = new ArrayList<>();\r
+        TableFeaturesBuilder featuresBuilder = new TableFeaturesBuilder();\r
+        featuresBuilder.setTableId((short) 5);\r
+        featuresBuilder.setName("Aloha");\r
+        byte[] metaMatch = new byte[]{0, 1, 2, 3, 4, 5, 6, 7};\r
+        featuresBuilder.setMetadataMatch(metaMatch);\r
+        byte[] metaWrite = new byte[]{8, 9, 10, 11, 12, 13, 14, 15};\r
+        featuresBuilder.setMetadataWrite(metaWrite);\r
+        featuresBuilder.setConfig(new TableConfig(false));\r
+        featuresBuilder.setMaxEntries(42L);\r
+        List<TableFeatureProperties> properties = new ArrayList<>();\r
+        TableFeaturePropertiesBuilder propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTNEXTTABLES);\r
+        NextTableRelatedTableFeaturePropertyBuilder nextPropBuilder =\r
+                new NextTableRelatedTableFeaturePropertyBuilder();\r
+        List<NextTableIds> nextIds = new ArrayList<>();\r
+        nextIds.add(new NextTableIdsBuilder().setTableId((short) 1).build());\r
+        nextIds.add(new NextTableIdsBuilder().setTableId((short) 2).build());\r
+        nextPropBuilder.setNextTableIds(nextIds);\r
+        propBuilder.addAugmentation(NextTableRelatedTableFeatureProperty.class, nextPropBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTNEXTTABLESMISS);\r
+        nextPropBuilder = new NextTableRelatedTableFeaturePropertyBuilder();\r
+        nextIds = new ArrayList<>();\r
+        nextIds.add(new NextTableIdsBuilder().setTableId((short) 3).build());\r
+        nextPropBuilder.setNextTableIds(nextIds);\r
+        propBuilder.addAugmentation(NextTableRelatedTableFeatureProperty.class, nextPropBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTINSTRUCTIONS);\r
+        InstructionRelatedTableFeaturePropertyBuilder insPropBuilder =\r
+                new InstructionRelatedTableFeaturePropertyBuilder();\r
+        List<Instruction> insIds = new ArrayList<>();\r
+        InstructionBuilder insBuilder = new InstructionBuilder();\r
+        insBuilder.setType(WriteActions.class);\r
+        insIds.add(insBuilder.build());\r
+        insBuilder = new InstructionBuilder();\r
+        insBuilder.setType(GotoTable.class);\r
+        insIds.add(insBuilder.build());\r
+        insPropBuilder.setInstruction(insIds);\r
+        propBuilder.addAugmentation(InstructionRelatedTableFeatureProperty.class, insPropBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTINSTRUCTIONSMISS);\r
+        insPropBuilder = new InstructionRelatedTableFeaturePropertyBuilder();\r
+        insIds = new ArrayList<>();\r
+        insBuilder = new InstructionBuilder();\r
+        insBuilder.setType(WriteMetadata.class);\r
+        insIds.add(insBuilder.build());\r
+        insBuilder = new InstructionBuilder();\r
+        insBuilder.setType(ApplyActions.class);\r
+        insIds.add(insBuilder.build());\r
+        insBuilder = new InstructionBuilder();\r
+        insBuilder.setType(Meter.class);\r
+        insIds.add(insBuilder.build());\r
+        insBuilder = new InstructionBuilder();\r
+        insBuilder.setType(ClearActions.class);\r
+        insIds.add(insBuilder.build());\r
+        insBuilder = new InstructionBuilder();\r
+        insBuilder.setType(GotoTable.class);\r
+        insIds.add(insBuilder.build());\r
+        insPropBuilder.setInstruction(insIds);\r
+        propBuilder.addAugmentation(InstructionRelatedTableFeatureProperty.class, insPropBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        featuresBuilder.setTableFeatureProperties(properties);\r
+        features.add(featuresBuilder.build());\r
+        featuresBuilder = new TableFeaturesBuilder();\r
+        featuresBuilder.setTableId((short) 6);\r
+        featuresBuilder.setName("Mahalo");\r
+        byte[] metaMatch2 = new byte[]{8, 9, 10, 11, 12, 13, 14, 15};\r
+        featuresBuilder.setMetadataMatch(metaMatch2);\r
+        byte[] metaWrite2 = new byte[]{0, 1, 2, 3, 4, 5, 6, 7};\r
+        featuresBuilder.setMetadataWrite(metaWrite2);\r
+        featuresBuilder.setConfig(new TableConfig(false));\r
+        featuresBuilder.setMaxEntries(24L);\r
+        properties = new ArrayList<>();\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTMATCH);\r
+        OxmRelatedTableFeaturePropertyBuilder oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
+        List<MatchEntries> entries = new ArrayList<>();\r
+        MatchEntriesBuilder entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(InPhyPort.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(InPort.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        oxmBuilder.setMatchEntries(entries);\r
+        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYSETFIELD);\r
+        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
+        entries = new ArrayList<>();\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(IpProto.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(IpEcn.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        oxmBuilder.setMatchEntries(entries);\r
+        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITESETFIELD);\r
+        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
+        entries = new ArrayList<>();\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(Ipv6Exthdr.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(VlanVid.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        oxmBuilder.setMatchEntries(entries);\r
+        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITESETFIELDMISS);\r
+        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
+        entries = new ArrayList<>();\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(VlanPcp.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(TcpSrc.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        oxmBuilder.setMatchEntries(entries);\r
+        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYSETFIELDMISS);\r
+        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
+        entries = new ArrayList<>();\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(UdpSrc.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(UdpDst.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        oxmBuilder.setMatchEntries(entries);\r
+        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTWILDCARDS);\r
+        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
+        entries = new ArrayList<>();\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(EthSrc.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        entriesBuilder = new MatchEntriesBuilder();\r
+        entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+        entriesBuilder.setOxmMatchField(EthDst.class);\r
+        entriesBuilder.setHasMask(false);\r
+        entries.add(entriesBuilder.build());\r
+        oxmBuilder.setMatchEntries(entries);\r
+        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYACTIONS);\r
+        ActionRelatedTableFeaturePropertyBuilder actBuilder = new ActionRelatedTableFeaturePropertyBuilder();\r
+        List<Action> actions = new ArrayList<>();\r
+        ActionBuilder actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(Output.class);\r
+        actions.add(actionBuilder.build());\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(PopPbb.class);\r
+        actions.add(actionBuilder.build());\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(SetNwTtl.class);\r
+        actions.add(actionBuilder.build());\r
+        actBuilder.setAction(actions);\r
+        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYACTIONSMISS);\r
+        actBuilder = new ActionRelatedTableFeaturePropertyBuilder();\r
+        actions = new ArrayList<>();\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(Group.class);\r
+        actions.add(actionBuilder.build());\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(CopyTtlIn.class);\r
+        actions.add(actionBuilder.build());\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(CopyTtlOut.class);\r
+        actions.add(actionBuilder.build());\r
+        actBuilder.setAction(actions);\r
+        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITEACTIONS);\r
+        actBuilder = new ActionRelatedTableFeaturePropertyBuilder();\r
+        actions = new ArrayList<>();\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(SetMplsTtl.class);\r
+        actions.add(actionBuilder.build());\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(DecMplsTtl.class);\r
+        actions.add(actionBuilder.build());\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(PushVlan.class);\r
+        actions.add(actionBuilder.build());\r
+        actBuilder.setAction(actions);\r
+        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITEACTIONSMISS);\r
+        actBuilder = new ActionRelatedTableFeaturePropertyBuilder();\r
+        actions = new ArrayList<>();\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(PopVlan.class);\r
+        actions.add(actionBuilder.build());\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(PushPbb.class);\r
+        actions.add(actionBuilder.build());\r
+        actionBuilder = new ActionBuilder();\r
+        actionBuilder.setType(SetField.class);\r
+        actions.add(actionBuilder.build());\r
+        actBuilder.setAction(actions);\r
+        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        featuresBuilder.setTableFeatureProperties(properties);\r
+        features.add(featuresBuilder.build());\r
+        builder.setTableFeatures(features);\r
+\r
+        List<TableFeatures> list = TableFeaturesReplyConvertor.toTableFeaturesReply(builder.build());\r
+\r
+        Assert.assertEquals("Returned empty list", 2, list.size());\r
+        TableFeatures feature = list.get(0);\r
+        Assert.assertEquals("Wrong table-id", 5, feature.getTableId().intValue());\r
+        Assert.assertEquals("Wrong name", "Aloha", feature.getName());\r
+        Assert.assertEquals("Wrong metadata match", new BigInteger(1, metaMatch), feature.getMetadataMatch());\r
+        Assert.assertEquals("Wrong metadata write", new BigInteger(1, metaWrite), feature.getMetadataWrite());\r
+        Assert.assertEquals("Wrong config", false, feature.getConfig().isDEPRECATEDMASK());\r
+        Assert.assertEquals("Wrong max-entries", 42, feature.getMaxEntries().intValue());\r
+        Assert.assertEquals("Wrong properties", 4, feature.getTableProperties().getTableFeatureProperties().size());\r
+        org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.features.table.features.table.properties\r
+        .TableFeatureProperties property = feature.getTableProperties().getTableFeatureProperties().get(0);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.NextTable",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        NextTable propType = (NextTable) property.getTableFeaturePropType();\r
+        List<Short> ids = propType.getTables().getTableIds();\r
+        Assert.assertEquals("Wrong next table-id size", 2, ids.size());\r
+        Assert.assertEquals("Wrong next-registry-id", 1, ids.get(0).intValue());\r
+        Assert.assertEquals("Wrong next-registry-id", 2, ids.get(1).intValue());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(1);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.NextTableMiss",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        NextTableMiss propType2 = (NextTableMiss) property.getTableFeaturePropType();\r
+        ids = propType2.getTablesMiss().getTableIds();\r
+        Assert.assertEquals("Wrong next table-id size", 1, ids.size());\r
+        Assert.assertEquals("Wrong next-registry-id", 3, ids.get(0).intValue());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(2);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.Instructions",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        Instructions propType3 = (Instructions) property.getTableFeaturePropType();\r
+        List<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list\r
+        .Instruction> instructionIds = propType3.getInstructions().getInstruction();\r
+        Assert.assertEquals("Wrong instruction-ids size", 2, instructionIds.size());\r
+        Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.WriteActionsCase",\r
+                instructionIds.get(0).getInstruction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.GoToTableCase",\r
+                instructionIds.get(1).getInstruction().getImplementedInterface().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(3);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.InstructionsMiss",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        InstructionsMiss propType4 = (InstructionsMiss) property.getTableFeaturePropType();\r
+        instructionIds = propType4.getInstructionsMiss().getInstruction();\r
+        Assert.assertEquals("Wrong instruction-ids size", 5, instructionIds.size());\r
+        Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.WriteMetadataCase",\r
+                instructionIds.get(0).getInstruction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.ApplyActionsCase",\r
+                instructionIds.get(1).getInstruction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.MeterCase",\r
+                instructionIds.get(2).getInstruction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.ClearActionsCase",\r
+                instructionIds.get(3).getInstruction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.GoToTableCase",\r
+                instructionIds.get(4).getInstruction().getImplementedInterface().getName());\r
+        feature = list.get(1);\r
+        Assert.assertEquals("Wrong table-id", 6, feature.getTableId().intValue());\r
+        Assert.assertEquals("Wrong name", "Mahalo", feature.getName());\r
+        Assert.assertEquals("Wrong metadata match", new BigInteger(1, metaMatch2), feature.getMetadataMatch());\r
+        Assert.assertEquals("Wrong metadata write", new BigInteger(1, metaWrite2), feature.getMetadataWrite());\r
+        Assert.assertEquals("Wrong config", false, feature.getConfig().isDEPRECATEDMASK());\r
+        Assert.assertEquals("Wrong max-entries", 24, feature.getMaxEntries().intValue());\r
+        Assert.assertEquals("Wrong properties", 10, feature.getTableProperties().getTableFeatureProperties().size());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(0);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.Match",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        Match propType5 = (Match) property.getTableFeaturePropType();\r
+        List<SetFieldMatch> fieldMatch = propType5.getMatchSetfield().getSetFieldMatch();\r
+        Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.InPhyPort",\r
+                fieldMatch.get(0).getMatchType().getName());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.InPort",\r
+                fieldMatch.get(1).getMatchType().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(1);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.ApplySetfield",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        ApplySetfield propType6 = (ApplySetfield) property.getTableFeaturePropType();\r
+        fieldMatch = propType6.getApplySetfield().getSetFieldMatch();\r
+        Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.IpProto",\r
+                fieldMatch.get(0).getMatchType().getName());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.IpEcn",\r
+                fieldMatch.get(1).getMatchType().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(2);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.WriteSetfield",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        WriteSetfield propType7 = (WriteSetfield) property.getTableFeaturePropType();\r
+        fieldMatch = propType7.getWriteSetfield().getSetFieldMatch();\r
+        Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.Ipv6Exthdr",\r
+                fieldMatch.get(0).getMatchType().getName());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.VlanVid",\r
+                fieldMatch.get(1).getMatchType().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(3);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.WriteSetfieldMiss",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        WriteSetfieldMiss propType8 = (WriteSetfieldMiss) property.getTableFeaturePropType();\r
+        fieldMatch = propType8.getWriteSetfieldMiss().getSetFieldMatch();\r
+        Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.VlanPcp",\r
+                fieldMatch.get(0).getMatchType().getName());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.TcpSrc",\r
+                fieldMatch.get(1).getMatchType().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(4);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.ApplySetfieldMiss",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        ApplySetfieldMiss propType9 = (ApplySetfieldMiss) property.getTableFeaturePropType();\r
+        fieldMatch = propType9.getApplySetfieldMiss().getSetFieldMatch();\r
+        Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.UdpSrc",\r
+                fieldMatch.get(0).getMatchType().getName());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.UdpDst",\r
+                fieldMatch.get(1).getMatchType().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(5);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.Wildcards",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        Wildcards propType10 = (Wildcards) property.getTableFeaturePropType();\r
+        fieldMatch = propType10.getWildcardSetfield().getSetFieldMatch();\r
+        Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.EthSrc",\r
+                fieldMatch.get(0).getMatchType().getName());\r
+        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.EthDst",\r
+                fieldMatch.get(1).getMatchType().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(6);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.ApplyActions",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type\r
+        .ApplyActions propType11 = (org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.ApplyActions) property.getTableFeaturePropType();\r
+        List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> actionsList = propType11.getApplyActions().getAction();\r
+        Assert.assertEquals("Wrong actions-ids size", 3, actionsList.size());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.OutputActionCase",\r
+                actionsList.get(0).getAction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PopPbbActionCase",\r
+                actionsList.get(1).getAction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetNwTtlActionCase",\r
+                actionsList.get(2).getAction().getImplementedInterface().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(7);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.ApplyActionsMiss",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type\r
+        .ApplyActionsMiss propType12 = (org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type\r
+                .ApplyActionsMiss) property.getTableFeaturePropType();\r
+        actionsList = propType12.getApplyActionsMiss().getAction();\r
+        Assert.assertEquals("Wrong actions-ids size", 3, actionsList.size());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.GroupActionCase",\r
+                actionsList.get(0).getAction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlInCase",\r
+                actionsList.get(1).getAction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlOutCase",\r
+                actionsList.get(2).getAction().getImplementedInterface().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(8);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.WriteActions",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type\r
+        .WriteActions propType13 = (org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type\r
+                .WriteActions) property.getTableFeaturePropType();\r
+        actionsList = propType13.getWriteActions().getAction();\r
+        Assert.assertEquals("Wrong actions-ids size", 3, actionsList.size());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetMplsTtlActionCase",\r
+                actionsList.get(0).getAction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.DecMplsTtlCase",\r
+                actionsList.get(1).getAction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PushVlanActionCase",\r
+                actionsList.get(2).getAction().getImplementedInterface().getName());\r
+        property = feature.getTableProperties().getTableFeatureProperties().get(9);\r
+        Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.WriteActionsMiss",\r
+                property.getTableFeaturePropType().getImplementedInterface().getName());\r
+        org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type\r
+        .WriteActionsMiss propType14 = (org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type\r
+                .WriteActionsMiss) property.getTableFeaturePropType();\r
+        actionsList = propType14.getWriteActionsMiss().getAction();\r
+        Assert.assertEquals("Wrong actions-ids size", 3, actionsList.size());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PopVlanActionCase",\r
+                actionsList.get(0).getAction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PushPbbActionCase",\r
+                actionsList.get(1).getAction().getImplementedInterface().getName());\r
+        Assert.assertEquals("Wrong actions-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetFieldCase",\r
+                actionsList.get(2).getAction().getImplementedInterface().getName());\r
+    }\r
+}
\ No newline at end of file