FileDocCategorySizeDatePackage
InetAddrTest.javaAPI DocAndroid 1.5 API2976Wed May 06 22:42:02 BST 2009android.core

InetAddrTest

public class InetAddrTest extends TestCase
Tests InetAddr class by checking methods to resolve domains to IP addresses and by checking if the class returns correct addresses for local host address and host name.

Fields Summary
private static final String[]
HOSTS
Constructors Summary
Methods Summary
public voidtestInetAddr()


         
        byte[] raw;

        InetAddress ia = InetAddress.getByName("localhost");

        raw = ia.getAddress();

        assertEquals(127, raw[0]);
        assertEquals(0, raw[1]);
        assertEquals(0, raw[2]);
        assertEquals(1, raw[3]);

        ia = InetAddress.getByName("127.0.0.1");

        raw = ia.getAddress();

        assertEquals(127, raw[0]);
        assertEquals(0, raw[1]);
        assertEquals(0, raw[2]);
        assertEquals(1, raw[3]);

        ia = InetAddress.getByName(null);

        try {
            InetAddress.getByName(".0.0.1");
            fail("expected ex");
        } catch (UnknownHostException ex) {
            // expected
        }

        try {
            InetAddress.getByName("thereisagoodchancethisdomaindoesnotexist.weirdtld");
            fail("expected ex");
        } catch (UnknownHostException ex) {
            // expected
        }

        try {
            InetAddress.getByName("127.0.0.");
            fail("expected ex");
        } catch (UnknownHostException ex) {
            // expected
        }

        Random random = new Random();
        int count = 0;
        for (int i = 0; i < 100; i++) {
            int index = random.nextInt(HOSTS.length);
            try {
                InetAddress.getByName(HOSTS[index]);
                count++;
                try {
                    Thread.sleep(50);
                } catch (InterruptedException ex) {
                }
            } catch (UnknownHostException ex) {
            }
        }
        assertEquals("Not all host lookups succeeded", 100, count);