01: package org.bouncycastle.util;
02:
03: import junit.framework.TestCase;
04:
05: public class IPTest extends TestCase {
06:
07: private static final String validIP4v[] = new String[] { "0.0.0.0",
08: "255.255.255.255", "192.168.0.0" };
09:
10: private static final String invalidIP4v[] = new String[] {
11: "0.0.0.0.1", "256.255.255.255", "1", "A.B.C", "1:.4.6.5" };
12:
13: private static final String validIP6v[] = new String[] {
14: "0:0:0:0:0:0:0:0",
15: "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF",
16: "0:1:2:3:FFFF:5:FFFF:1" };
17:
18: private static final String invalidIP6v[] = new String[] {
19: "0.0.0.0:1", "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFFF" };
20:
21: private void testIP(String[] valid, String[] invalid) {
22: for (int i = 0; i < valid.length; i++) {
23: if (!IPAddress.isValid(valid[i])) {
24: fail("Valid input string not accepted: " + valid[i]
25: + ".");
26: }
27: }
28: for (int i = 0; i < invalid.length; i++) {
29: if (IPAddress.isValid(invalid[i])) {
30: fail("Invalid input string accepted: " + invalid[i]
31: + ".");
32: }
33: }
34: }
35:
36: public String getName() {
37: return "IPTest";
38: }
39:
40: public void testIPv4() {
41: testIP(validIP4v, invalidIP4v);
42: }
43:
44: public void testIPv6() {
45: testIP(validIP6v, invalidIP6v);
46: }
47: }
|