Adding additional JUnit tests for SwitchManager
[controller.git] / opendaylight / switchmanager / src / test / java / org / opendaylight / controller / switchmanager / SubnetTest.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
9 package org.opendaylight.controller.switchmanager;
10
11 import java.net.Inet6Address;
12 import java.net.InetAddress;
13 import java.util.HashSet;
14 import java.util.Set;
15
16 import org.junit.Assert;
17 import org.junit.Test;
18 import org.opendaylight.controller.sal.utils.NodeCreator;
19 import org.opendaylight.controller.sal.core.Node;
20 import org.opendaylight.controller.sal.core.NodeConnector;
21 import org.opendaylight.controller.sal.utils.NodeConnectorCreator;
22
23 public class SubnetTest {
24
25     @Test
26     public void testSubnet() throws Exception {
27         InetAddress ipaddr = InetAddress.getByName("100.0.0.1");
28         Subnet subnet = new Subnet(ipaddr, (short) 24, (short) 5);
29         Assert.assertTrue(subnet.equals(subnet));
30         Assert.assertFalse(subnet.equals(null));
31         Assert.assertFalse(subnet.equals(ipaddr));
32         Subnet subnet2 = new Subnet(ipaddr, (short) 24, (short) 5);
33         Inet6Address ipv6 = (Inet6Address) Inet6Address
34                 .getByName("1111::2222:3333:4444:5555:6666");
35         Subnet subnet3 = new Subnet(ipv6, (short) 24, (short) 5);
36         Assert.assertTrue(subnet.equals(subnet2));
37         Assert.assertFalse(subnet.isMutualExclusive(subnet2));
38         Assert.assertTrue(subnet.isMutualExclusive(subnet3));
39         InetAddress subnetAddr = InetAddress.getByName("200.0.0.100");
40
41         Assert.assertTrue(subnet.isFlatLayer2() == true);
42
43         Set<NodeConnector> ncSet = new HashSet<NodeConnector>();
44         Node node = NodeCreator.createOFNode(((long) 10));
45         NodeConnector nc0 = NodeConnectorCreator.createOFNodeConnector(
46                 (short) 20, node);
47         NodeConnector nc1 = NodeConnectorCreator.createOFNodeConnector(
48                 (short) 30, node);
49         NodeConnector nc2 = NodeConnectorCreator.createOFNodeConnector(
50                 (short) 40, node);
51
52         ncSet.add(nc0);
53         ncSet.add(nc1);
54         ncSet.add(nc2);
55
56         Assert.assertTrue(subnet.hasNodeConnector(nc0));
57         Assert.assertFalse(subnet.hasNodeConnector(null));
58         subnet.addNodeConnectors(ncSet);
59         Assert.assertTrue(subnet.hasNodeConnector(nc0));
60
61         Set<NodeConnector> resultncSet = subnet.getNodeConnectors();
62         Assert.assertEquals(resultncSet, ncSet);
63         subnet.addNodeConnectors(null);
64         Assert.assertEquals(subnet.getNodeConnectors(), ncSet);
65
66         subnet.deleteNodeConnectors(null);
67         Assert.assertEquals(subnet.getNodeConnectors(), ncSet);
68
69         Set<NodeConnector> ncSet2 = new HashSet<NodeConnector>();
70         ncSet2.add(nc0);
71         subnet.deleteNodeConnectors(ncSet2);
72         Assert.assertFalse(subnet.getNodeConnectors().contains(nc0));
73         Assert.assertFalse(subnet.hasNodeConnector(nc0));
74         Assert.assertTrue(subnet.getNodeConnectors().contains(nc1));
75         Assert.assertTrue(subnet.getNodeConnectors().contains(nc2));
76
77         subnet.deleteNodeConnectors(ncSet2);
78
79         subnet.setNetworkAddress(subnetAddr);
80         Assert.assertTrue(subnet.isMutualExclusive(subnet2));
81         Assert.assertTrue(subnet.getNetworkAddress().equals(subnetAddr));
82
83         subnet.setSubnetMaskLength((short) 16);
84         Assert.assertTrue(subnet.getSubnetMaskLength() == 16);
85
86         subnet.setVlan((short) 100);
87         Assert.assertTrue(subnet.getVlan() == 100);
88
89         Assert.assertTrue(subnet.isFlatLayer2() == false);
90
91     }
92
93 }