97fd73e163d5f117a4c54892c318f138e9df34c7
[openflowjava.git] / openflow-protocol-api / src / test / java / org / opendaylight / openflowjava / protocol / api / keys / experimenter / ExperimenterIdSerializerKeyTest.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.MessageTypeKey;\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 ExperimenterIdSerializerKeyTest {\r
23 \r
24     /**\r
25      * Test ExperimenterIdSerializerKey equals and hashCode\r
26      */\r
27     @Test\r
28     public void test() {\r
29         ExperimenterIdSerializerKey<?> key1 =\r
30                 new ExperimenterIdSerializerKey<>(EncodeConstants.OF10_VERSION_ID, 42L, ExperimenterMessage.class);\r
31         ExperimenterIdSerializerKey<?> key2 =\r
32                 new ExperimenterIdSerializerKey<>(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 ExperimenterIdSerializerKey<>(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 ExperimenterIdSerializerKey<>(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 ExperimenterIdSerializerKey<>(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 ExperimenterIdSerializerKey<>(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 ExperimenterIdSerializerKey<>(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 ExperimenterIdSerializerKey equals - additional test\r
54      */\r
55     @Test\r
56     public void testEquals() {\r
57         ExperimenterIdSerializerKey<?> key1 =\r
58                 new ExperimenterIdSerializerKey<>(EncodeConstants.OF10_VERSION_ID, null, ExperimenterMessage.class);\r
59         Assert.assertTrue("Wrong equal to identical object.", key1.equals(key1));\r
60         MessageTypeKey<?>mk = new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID,ExperimenterMessage.class);\r
61         Assert.assertFalse("Wrong equal to different class.", key1.equals(mk));\r
62         ExperimenterIdSerializerKey<?> key2 =\r
63                 new ExperimenterIdSerializerKey<>(EncodeConstants.OF10_VERSION_ID, 42L, ExperimenterMessage.class);\r
64         Assert.assertFalse("Wrong equal by experimenterId.", key1.equals(key2));\r
65     }\r
66     \r
67 }