be87d557792e6af09fff09891e993544b8c7b30f
[openflowjava.git] / openflow-protocol-api / src / test / java / org / opendaylight / openflowjava / protocol / api / keys / MatchEntryDeserializerKeyTest.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;\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 \r
15 /**\r
16  * @author michal.polkorab\r
17  *\r
18  */\r
19 public class MatchEntryDeserializerKeyTest {\r
20 \r
21     /**\r
22      * Test MatchEntryDeserializerKey equals and hashCode\r
23      */\r
24     @Test\r
25     public void test() {\r
26         MatchEntryDeserializerKey key1 = new MatchEntryDeserializerKey(EncodeConstants.OF10_VERSION_ID, 0x8000, 42);\r
27         MatchEntryDeserializerKey key2 = new MatchEntryDeserializerKey(EncodeConstants.OF10_VERSION_ID, 0x8000, 42);\r
28         Assert.assertTrue("Wrong equals", key1.equals(key2));\r
29         Assert.assertTrue("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
30         key2 = new MatchEntryDeserializerKey(EncodeConstants.OF10_VERSION_ID, 0, 42);\r
31         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
32         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
33         key2 = new MatchEntryDeserializerKey(EncodeConstants.OF10_VERSION_ID, 0x8000, 0);\r
34         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
35         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
36         key2 = new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, 0x8000, 42);\r
37         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
38         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
39         key2 = new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, 0x8000, 42);\r
40         key2.setExperimenterId(158L);\r
41         Assert.assertFalse("Wrong equals", key1.equals(key2));\r
42         Assert.assertFalse("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
43         key2 = new MatchEntryDeserializerKey(EncodeConstants.OF10_VERSION_ID, 0x8000, 42);\r
44         key2.setExperimenterId(158L);\r
45         key1.setExperimenterId(158L);\r
46         Assert.assertTrue("Wrong equals", key1.equals(key2));\r
47         Assert.assertTrue("Wrong hashcode", key1.hashCode() == key2.hashCode());\r
48     }\r
49     \r
50     /**\r
51      * Test MatchEntryDeserializerKey equals - additional test\r
52      */\r
53     @Test\r
54     public void testEquals() {\r
55          MatchEntryDeserializerKey key1 = new MatchEntryDeserializerKey(EncodeConstants.OF10_VERSION_ID, 0x8000, 42);\r
56          MatchEntryDeserializerKey key2 = new MatchEntryDeserializerKey(EncodeConstants.OF10_VERSION_ID, 0x8000, 42);\r
57          \r
58          Assert.assertTrue("Wrong equal to identical object.", key1.equals(key1));\r
59          Assert.assertFalse("Wrong equal to different class.", key1.equals(new Object()));\r
60          \r
61          Long expId1=123456L;\r
62          Long expId2=654321L;\r
63          key1.setExperimenterId(null);\r
64          key2.setExperimenterId(expId2);\r
65          Assert.assertFalse("Wrong equal by experimeterId.", key1.equals(key2));\r
66          \r
67          key1.setExperimenterId(expId1);\r
68          Assert.assertFalse("Wrong equal by experimeterId.", key1.equals(key2));\r
69          Assert.assertFalse("Wrong equals with different object class", key1.equals(key2));\r
70     }\r
71 \r
72     /**\r
73      * Test MatchEntryDeserializerKey toString()\r
74      */\r
75     @Test\r
76     public void testToString(){\r
77         MatchEntryDeserializerKey key1 = new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, 0x8000, 42);\r
78 \r
79         Assert.assertEquals("Wrong toString()", "msgVersion: 4 objectClass: org.opendaylight.yang.gen.v1.urn.opendaylight"\r
80                 + ".openflow.oxm.rev130731.oxm.fields.grouping.MatchEntries msgType: 32768 oxm_field: 42"\r
81                 + " experimenterID: null", key1.toString());\r
82     }\r
83 }