dc3e956bd8b94106f698d9bdbca7529cd24a3f89
[openflowjava.git] / openflow-protocol-api / src / test / java / org / opendaylight / openflowjava / protocol / api / keys / experimenter / ExperimenterIdDeserializerKeyTest.java
1 /*\r
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.openflowjava.protocol.api.keys.experimenter;\r
10 \r
11 import org.junit.Assert;\r
12 import org.junit.Test;\r
13 import org.opendaylight.openflowjava.protocol.api.extensibility.MessageCodeKey;\r
14 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ErrorMessage;\r
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ExperimenterMessage;\r
17 \r
18 /**\r
19  * @author michal.polkorab\r
20  *\r
21  */\r
22 public class ExperimenterIdDeserializerKeyTest {\r
23 \r
24     /**\r
25      * Test ExperimenterIdDeserializerKey equals and hashCode\r
26      */\r
27     @Test\r
28     public void test() {\r
29         ExperimenterIdDeserializerKey key1 =\r
30                 new ExperimenterIdDeserializerKey(EncodeConstants.OF10_VERSION_ID, 42L, ExperimenterMessage.class);\r
31         ExperimenterIdDeserializerKey key2 =\r
32                 new ExperimenterIdDeserializerKey(EncodeConstants.OF10_VERSION_ID, 42L, ExperimenterMessage.class);\r
33         Assert.assertTrue("Wrong equals", key1.equals(key2));\r
34         Assert.assertTrue("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
35         key2 = new ExperimenterIdDeserializerKey(EncodeConstants.OF13_VERSION_ID, 42L, ExperimenterMessage.class);\r
36         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
37         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
38         key2 = new ExperimenterIdDeserializerKey(EncodeConstants.OF10_VERSION_ID, null, ExperimenterMessage.class);\r
39         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
40         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
41         key2 = new ExperimenterIdDeserializerKey(EncodeConstants.OF10_VERSION_ID, 55L, ExperimenterMessage.class);\r
42         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
43         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
44         key2 = new ExperimenterIdDeserializerKey(EncodeConstants.OF10_VERSION_ID, 55L, null);\r
45         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
46         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
47         key2 = new ExperimenterIdDeserializerKey(EncodeConstants.OF10_VERSION_ID, 55L, ErrorMessage.class);\r
48         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
49         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
50     }\r
51 \r
52     /**\r
53      * Test ExperimenterIdDeserializerKey equals - additional test\r
54      */\r
55     @Test\r
56     public void testEquals() {\r
57          ExperimenterIdDeserializerKey key1 =\r
58                  new ExperimenterIdDeserializerKey(EncodeConstants.OF10_VERSION_ID, null, ExperimenterMessage.class);\r
59          Assert.assertTrue("Wrong equal to identical object.", key1.equals(key1));\r
60          MessageCodeKey mk = new MessageCodeKey(EncodeConstants.OF10_VERSION_ID,EncodeConstants.EXPERIMENTER_VALUE, ExperimenterMessage.class);\r
61          Assert.assertFalse("Wrong equal to different class.", key1.equals(mk));\r
62          ExperimenterIdDeserializerKey key2 =\r
63                  new ExperimenterIdDeserializerKey(EncodeConstants.OF10_VERSION_ID, 42L, ExperimenterMessage.class);\r
64          Assert.assertFalse("Wrong equal by experimenterId.", key1.equals(key2));\r
65     }\r
66 \r
67 }