Created experimenter subtype for vendor's actions
[openflowjava.git] / openflow-protocol-api / src / test / java / org / opendaylight / openflowjava / protocol / api / keys / extensibility / KeysTest.java
1 package org.opendaylight.openflowjava.protocol.api.keys.extensibility;
2
3 import junit.framework.Assert;
4
5 import org.junit.Test;
6 import org.opendaylight.openflowjava.protocol.api.keys.ActionDeserializerKey;
7 import org.opendaylight.openflowjava.protocol.api.keys.ActionSerializerKey;
8 import org.opendaylight.openflowjava.protocol.api.keys.InstructionDeserializerKey;
9 import org.opendaylight.openflowjava.protocol.api.keys.InstructionSerializerKey;
10 import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterActionDeserializerKey;
11 import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterActionSerializerKey;
12 import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterInstructionDeserializerKey;
13 import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterInstructionSerializerKey;
14 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.Experimenter;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.ExperimenterActionSubType;
17
18 /**
19  * @author michal.polkorab
20  */
21 public class KeysTest {
22
23     /**
24      * Testing equals() and hashcode() methods of extension deserializer's keys
25      */
26     @Test
27     public void testEqualsAndHashcodeOfDeserializerKeys() {
28         ActionDeserializerKey actionDeserializerKey = new ActionDeserializerKey(EncodeConstants.OF13_VERSION_ID,
29                 EncodeConstants.EXPERIMENTER_VALUE, 1L);
30         ExperimenterActionDeserializerKey experimenterActionDeserializerKey = new ExperimenterActionDeserializerKey(
31                 EncodeConstants.OF13_VERSION_ID, 1L);
32         Assert.assertEquals(actionDeserializerKey, experimenterActionDeserializerKey);
33         Assert.assertEquals(actionDeserializerKey.hashCode(), experimenterActionDeserializerKey.hashCode());
34
35         InstructionDeserializerKey instructionDeserializerKey = new InstructionDeserializerKey(
36                 EncodeConstants.OF13_VERSION_ID, EncodeConstants.EXPERIMENTER_VALUE, 1L);
37         ExperimenterInstructionDeserializerKey experimenterInstructionDeserializerKey = new ExperimenterInstructionDeserializerKey(
38                 EncodeConstants.OF13_VERSION_ID, 1L);
39         Assert.assertEquals(instructionDeserializerKey, experimenterInstructionDeserializerKey);
40         Assert.assertEquals(instructionDeserializerKey.hashCode(), experimenterInstructionDeserializerKey.hashCode());
41         
42         
43     }
44
45     /**
46      * Testing equals() and hashcode() methods of extension serializer's keys
47      */
48     @Test
49     public void testEqualsAndHashcodeOfActionDeserializerKeys() {
50         ActionSerializerKey<Experimenter> actionSerializerKey = new ActionSerializerKey<>(
51                 EncodeConstants.OF13_VERSION_ID, Experimenter.class, 1L);
52         ExperimenterActionSerializerKey experimenterActionSerializerKey = new ExperimenterActionSerializerKey(
53                 EncodeConstants.OF13_VERSION_ID, 1L, ExpSubType.class);
54         Assert.assertFalse(actionSerializerKey.equals(experimenterActionSerializerKey));
55         Assert.assertFalse(experimenterActionSerializerKey.equals(actionSerializerKey));
56
57         InstructionSerializerKey<org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.Experimenter> instructionSerializerKey = new InstructionSerializerKey<>(
58                 EncodeConstants.OF13_VERSION_ID,
59                 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.Experimenter.class,
60                 1L);
61         ExperimenterInstructionSerializerKey experimenterInstructionSerializerKey = new ExperimenterInstructionSerializerKey(EncodeConstants.OF13_VERSION_ID, 1L);
62         Assert.assertEquals(instructionSerializerKey, experimenterInstructionSerializerKey);
63         Assert.assertEquals(instructionSerializerKey.hashCode(), experimenterInstructionSerializerKey.hashCode());
64     }
65     
66     private static class ExpSubType extends ExperimenterActionSubType {
67         
68     }
69
70 }