4dbd5541622704c03f98b0f9d9c075639c8cd7de
[openflowjava.git] / openflow-protocol-api / src / test / java / org / opendaylight / openflowjava / protocol / api / extensibility / MessageTypeKeyTest.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.extensibility;\r
10 \r
11 import org.junit.Assert;\r
12 import org.junit.Test;\r
13 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierInput;\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput;\r
16 \r
17 /**\r
18  * @author michal.polkorab\r
19  *\r
20  */\r
21 public class MessageTypeKeyTest {\r
22 \r
23     /**\r
24      * Test MessageTypeKey equals and hashCode\r
25      */\r
26     @Test\r
27     public void test() {\r
28         MessageTypeKey<?> key1 =\r
29                 new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID, BarrierInput.class);\r
30         MessageTypeKey<?> key2 =\r
31                 new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID, BarrierInput.class);\r
32         Assert.assertTrue("Wrong equals", key1.equals(key2));\r
33         Assert.assertTrue("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
34         key2 = new MessageTypeKey<>(EncodeConstants.OF13_VERSION_ID, BarrierInput.class);\r
35         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
36         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
37         key2 = new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID, null);\r
38         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
39         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
40         key2 = new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID, BarrierOutput.class);\r
41         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
42         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
43     }\r
44 \r
45     /**\r
46      * Test MessageTypeKey equals - additional test\r
47      */\r
48     @Test\r
49     public void testEquals() {\r
50          MessageTypeKey<?> key1;\r
51          MessageTypeKey<?> key2; \r
52          key1 = new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID, BarrierInput.class);\r
53 \r
54          Assert.assertTrue("Wrong equal to identical object.", key1.equals(key1));\r
55          Assert.assertFalse("Wrong equal to null.", key1.equals(null));\r
56          Assert.assertFalse("Wrong equal to different class.", key1.equals(new Object()));\r
57 \r
58          key1 = new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID, null);\r
59          key2 = new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID, BarrierInput.class);\r
60          Assert.assertFalse("Wrong equal by msgType.", key1.equals(key2));\r
61 \r
62          key2 = new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID, null);\r
63          Assert.assertTrue("Wrong equal by msgType.", key1.equals(key2));\r
64     }\r
65 \r
66     /**\r
67      * Test MessageTypeKey toString()\r
68      */\r
69     @Test\r
70     public void testToString() {\r
71          MessageTypeKey<?> key1 = new MessageTypeKey<>(EncodeConstants.OF10_VERSION_ID, BarrierInput.class);\r
72 \r
73          Assert.assertEquals("Wrong toString()", "msgVersion: 1 objectType: org.opendaylight.yang.gen.v1.urn"\r
74                  + ".opendaylight.openflow.protocol.rev130731.BarrierInput", key1.toString());\r
75     }\r
76 }