Resubmitted with source code synchronized. Added integration test for hosttracker...
[controller.git] / opendaylight / switchmanager / api / src / test / java / org / openddaylight / controller / switchmanager / SubnetTest.java
diff --git a/opendaylight/switchmanager/api/src/test/java/org/openddaylight/controller/switchmanager/SubnetTest.java b/opendaylight/switchmanager/api/src/test/java/org/openddaylight/controller/switchmanager/SubnetTest.java
new file mode 100644 (file)
index 0000000..0cb51f0
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.controller.switchmanager;
+
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.opendaylight.controller.sal.utils.NodeCreator;
+import org.opendaylight.controller.sal.core.Node;
+import org.opendaylight.controller.sal.core.NodeConnector;
+import org.opendaylight.controller.sal.utils.NodeConnectorCreator;
+
+public class SubnetTest {
+
+    @Test
+    public void testSubnet() throws Exception {
+        InetAddress ipaddr = InetAddress.getByName("100.0.0.1");
+        Subnet subnet = new Subnet(ipaddr, (short) 24, (short) 5);
+        Assert.assertTrue(subnet.equals(subnet));
+        Assert.assertFalse(subnet.equals(null));
+        Assert.assertFalse(subnet.equals(ipaddr));
+        Subnet subnet2 = new Subnet(ipaddr, (short) 24, (short) 5);
+        Inet6Address ipv6 = (Inet6Address) Inet6Address
+                .getByName("1111::2222:3333:4444:5555:6666");
+        Subnet subnet3 = new Subnet(ipv6, (short) 24, (short) 5);
+        Assert.assertTrue(subnet.equals(subnet2));
+        Assert.assertFalse(subnet.isMutualExclusive(subnet2));
+        Assert.assertTrue(subnet.isMutualExclusive(subnet3));
+        InetAddress subnetAddr = InetAddress.getByName("200.0.0.100");
+
+        Assert.assertTrue(subnet.isFlatLayer2() == true);
+
+        Set<NodeConnector> ncSet = new HashSet<NodeConnector>();
+        Node node = NodeCreator.createOFNode(((long) 10));
+        NodeConnector nc0 = NodeConnectorCreator.createOFNodeConnector(
+                (short) 20, node);
+        NodeConnector nc1 = NodeConnectorCreator.createOFNodeConnector(
+                (short) 30, node);
+        NodeConnector nc2 = NodeConnectorCreator.createOFNodeConnector(
+                (short) 40, node);
+
+        ncSet.add(nc0);
+        ncSet.add(nc1);
+        ncSet.add(nc2);
+
+        Assert.assertTrue(subnet.hasNodeConnector(nc0));
+        Assert.assertFalse(subnet.hasNodeConnector(null));
+        subnet.addNodeConnectors(ncSet);
+        Assert.assertTrue(subnet.hasNodeConnector(nc0));
+
+        Set<NodeConnector> resultncSet = subnet.getNodeConnectors();
+        Assert.assertEquals(resultncSet, ncSet);
+        subnet.addNodeConnectors(null);
+        Assert.assertEquals(subnet.getNodeConnectors(), ncSet);
+
+        subnet.deleteNodeConnectors(null);
+        Assert.assertEquals(subnet.getNodeConnectors(), ncSet);
+
+        Set<NodeConnector> ncSet2 = new HashSet<NodeConnector>();
+        ncSet2.add(nc0);
+        subnet.deleteNodeConnectors(ncSet2);
+        Assert.assertFalse(subnet.getNodeConnectors().contains(nc0));
+        Assert.assertFalse(subnet.hasNodeConnector(nc0));
+        Assert.assertTrue(subnet.getNodeConnectors().contains(nc1));
+        Assert.assertTrue(subnet.getNodeConnectors().contains(nc2));
+
+        subnet.deleteNodeConnectors(ncSet2);
+
+        subnet.setNetworkAddress(subnetAddr);
+        Assert.assertTrue(subnet.isMutualExclusive(subnet2));
+        Assert.assertTrue(subnet.getNetworkAddress().equals(subnetAddr));
+
+        subnet.setSubnetMaskLength((short) 16);
+        Assert.assertTrue(subnet.getSubnetMaskLength() == 16);
+
+        subnet.setVlan((short) 100);
+        Assert.assertTrue(subnet.getVlan() == 100);
+
+        Assert.assertTrue(subnet.isFlatLayer2() == false);
+
+    }
+
+}