/* * 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 ncSet = new HashSet(); 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 resultncSet = subnet.getNodeConnectors(); Assert.assertEquals(resultncSet, ncSet); subnet.addNodeConnectors(null); Assert.assertEquals(subnet.getNodeConnectors(), ncSet); subnet.deleteNodeConnectors(null); Assert.assertEquals(subnet.getNodeConnectors(), ncSet); Set ncSet2 = new HashSet(); 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); } }