Added IPv6Address.ofCidrMaskLength() and the corresponding unit tests
Reference:
IPv6AddressWithMask.of(String)
diff --git a/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv6AddressTest.java b/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv6AddressTest.java
index 6963c21..394a39b 100644
--- a/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv6AddressTest.java
+++ b/java_gen/pre-written/src/test/java/org/projectfloodlight/openflow/types/IPv6AddressTest.java
@@ -198,6 +198,44 @@
}
}
+ private static void testOfCidrMaskLengthHelper(
+ int cidrMaskLength, String ipStr) throws UnknownHostException {
+ byte[] ba0 = IPv6Address.ofCidrMaskLength(cidrMaskLength).getBytes();
+ byte[] ba1 = Inet6Address.getByName(ipStr).getAddress();
+ assertArrayEquals(ba0, ba1);
+ }
+
+ @Test
+ public void testOfCidrMaskLength() throws UnknownHostException {
+ for (int i = 0; i <= 128; i++) {
+ assertTrue(IPv6Address.ofCidrMaskLength(i).isCidrMask());
+ assertEquals(IPv6Address.ofCidrMaskLength(i).asCidrMaskLength(), i);
+ }
+ testOfCidrMaskLengthHelper(0, "::");
+ testOfCidrMaskLengthHelper(1, "8000::");
+ testOfCidrMaskLengthHelper(2, "c000::");
+ testOfCidrMaskLengthHelper(8, "ff00::");
+ testOfCidrMaskLengthHelper(16, "ffff::");
+ testOfCidrMaskLengthHelper(17, "ffff:8000::");
+ testOfCidrMaskLengthHelper(31, "ffff:fffe::");
+ testOfCidrMaskLengthHelper(32, "ffff:ffff::");
+ testOfCidrMaskLengthHelper(33, "ffff:ffff:8000::");
+ testOfCidrMaskLengthHelper(46, "ffff:ffff:fffc::");
+ testOfCidrMaskLengthHelper(48, "ffff:ffff:ffff::");
+ testOfCidrMaskLengthHelper(55, "ffff:ffff:ffff:fe00::");
+ testOfCidrMaskLengthHelper(56, "ffff:ffff:ffff:ff00::");
+ testOfCidrMaskLengthHelper(59, "ffff:ffff:ffff:ffe0::");
+ testOfCidrMaskLengthHelper(63, "ffff:ffff:ffff:fffe::");
+ testOfCidrMaskLengthHelper(64, "ffff:ffff:ffff:ffff::");
+ testOfCidrMaskLengthHelper(65, "ffff:ffff:ffff:ffff:8000::");
+ testOfCidrMaskLengthHelper(67, "ffff:ffff:ffff:ffff:e000::");
+ testOfCidrMaskLengthHelper(100, "ffff:ffff:ffff:ffff:ffff:ffff:f000::");
+ testOfCidrMaskLengthHelper(101, "ffff:ffff:ffff:ffff:ffff:ffff:f800::");
+ testOfCidrMaskLengthHelper(126, "ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc");
+ testOfCidrMaskLengthHelper(127, "ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe");
+ testOfCidrMaskLengthHelper(128, "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff");
+ }
+
@Test
public void testReadFrom() throws OFParseError, UnknownHostException {
for(int i=0; i < testStrings.length; i++ ) {
@@ -313,5 +351,17 @@
} catch (IllegalArgumentException e) {
assertNotNull(e.getMessage());
}
+ try {
+ IPv6Address.ofCidrMaskLength(-1);
+ fail("Should have thrown IllegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ assertNotNull(e.getMessage());
+ }
+ try {
+ IPv6Address.ofCidrMaskLength(129);
+ fail("Should have thrown IllegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ assertNotNull(e.getMessage());
+ }
}
}