public void testParseSimpleNetmask() { final String address = "192.168.0.1"; final String masks[] = new String[] {"255.0.0.0", "255.255.0.0", "255.255.255.0", "255.255.255.248"}; final String bcastAddresses[] = new String[] {"192.255.255.255", "192.168.255.255", "192.168.0.255", "192.168.0.7"}; final String lowAddresses[] = new String[] {"192.0.0.1", "192.168.0.1", "192.168.0.1", "192.168.0.1"}; final String highAddresses[] = new String[] {"192.255.255.254", "192.168.255.254", "192.168.0.254", "192.168.0.6"}; final String networkAddresses[] = new String[] {"192.0.0.0", "192.168.0.0", "192.168.0.0", "192.168.0.0"}; final String cidrSignatures[] = new String[] {"192.168.0.1/8", "192.168.0.1/16", "192.168.0.1/24", "192.168.0.1/29"}; final int usableAddresses[] = new int[] {16777214, 65534, 254, 6}; for (int i = 0; i < masks.length; ++i) { SubnetUtils utils = new SubnetUtils(address, masks[i]); SubnetInfo info = utils.getInfo(); assertEquals(bcastAddresses[i], info.getBroadcastAddress()); assertEquals(cidrSignatures[i], info.getCidrSignature()); assertEquals(lowAddresses[i], info.getLowAddress()); assertEquals(highAddresses[i], info.getHighAddress()); assertEquals(networkAddresses[i], info.getNetworkAddress()); assertEquals(usableAddresses[i], info.getAddressCount()); } }
public void testParseSimpleNetmaskInclusive() { String address = "192.168.15.7"; String masks[] = new String[] {"255.255.255.252", "255.255.255.254", "255.255.255.255"}; String bcast[] = new String[] {"192.168.15.7", "192.168.15.7", "192.168.15.7"}; String netwk[] = new String[] {"192.168.15.4", "192.168.15.6", "192.168.15.7"}; String lowAd[] = new String[] {"192.168.15.4", "192.168.15.6", "192.168.15.7"}; String highA[] = new String[] {"192.168.15.7", "192.168.15.7", "192.168.15.7"}; String cidrS[] = new String[] {"192.168.15.7/30", "192.168.15.7/31", "192.168.15.7/32"}; int usableAd[] = new int[] {4, 2, 1}; for (int i = 0; i < masks.length; ++i) { SubnetUtils utils = new SubnetUtils(address, masks[i]); utils.setInclusiveHostCount(true); SubnetInfo info = utils.getInfo(); assertEquals("ci " + masks[i], cidrS[i], info.getCidrSignature()); assertEquals("bc " + masks[i], bcast[i], info.getBroadcastAddress()); assertEquals("ac " + masks[i], usableAd[i], info.getAddressCount()); assertEquals("nw " + masks[i], netwk[i], info.getNetworkAddress()); assertEquals("lo " + masks[i], lowAd[i], info.getLowAddress()); assertEquals("hi " + masks[i], highA[i], info.getHighAddress()); } }