Merge "BUG-868: use a single version of ClassLoaderUtils"
[controller.git] / opendaylight / md-sal / compatibility / sal-compatibility / src / test / java / org / opendaylight / controller / sal / compatibility / test / NodeMappingTest.java
1 /**
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.controller.sal.compatibility.test;
9
10 import org.junit.Assert;
11 import org.junit.Test;
12 import org.opendaylight.controller.sal.compatibility.NodeMapping;
13 import org.opendaylight.controller.sal.core.MacAddress;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
15
16 /**
17  * test of {@link NodeMapping} utility class
18  */
19 public class NodeMappingTest {
20
21     /**
22      * Test method for
23      * {@link org.opendaylight.controller.sal.compatibility.NodeMapping#toADMacAddress(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId)}
24      * .
25      */
26     @Test
27     public void testToADMacAddress() {
28         NodeId[] nodeIds = new NodeId[] {
29                 // 0x0000|0000 0000002a (answer to the ultimate question of life, universe and everything)
30                 new NodeId("42"),
31                 // 0x7fff|ffff ffffffff (max long -> 2**63 - 1)
32                 new NodeId("9223372036854775807"),
33                 // 0x7fff|7fff ffffffff
34                 new NodeId("9223231299366420479"),
35                 // 0x8fff|7fff ffffffff (more than biggest positive long)
36                 new NodeId("10376152803973267455"),
37                 // 0xca13|764a e9ace65a (BUG-770)
38                 new NodeId("14561112084339025498")
39         };
40
41         byte[][] expectedMacs = new byte[][] {
42                 {0, 0, 0, 0, 0, 0x2a},
43                 {(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff},
44                 {(byte) 0x7f, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff},
45                 {(byte) 0x7f, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff},
46                 {(byte) 0x76, (byte) 0x4a, (byte) 0xe9, (byte) 0xac, (byte) 0xe6, (byte) 0x5a}
47         };
48
49         Assert.assertEquals(expectedMacs.length, nodeIds.length);
50
51         for (int i = 0; i < expectedMacs.length; i++) {
52             NodeId nodeId = nodeIds[i];
53             MacAddress mac = NodeMapping.toADMacAddress(nodeId);
54             Assert.assertArrayEquals(expectedMacs[i], mac.getMacAddress());
55         }
56     }
57
58 }