public void testHttpURIs_withExplicitPort() throws Exception {

    Subscriber listener = new Subscriber("http://localhost:123456");
    assertTrue(listener.isHttp());
    assertEquals("localhost", listener.getHost());
    assertEquals(123456, listener.getPort());
    assertEquals("", listener.getPath());

    listener = new Subscriber("http://localhost:123456/");
    assertTrue(listener.isHttp());
    assertEquals("localhost", listener.getHost());
    assertEquals(123456, listener.getPort());
    assertEquals("", listener.getPath());

    listener = new Subscriber("http://myhost.com:123456/abc");
    assertTrue(listener.isHttp());
    assertEquals("myhost.com", listener.getHost());
    assertEquals(123456, listener.getPort());
    assertEquals("abc", listener.getPath());

    listener = new Subscriber("http://192.168.1.1:123456/abc/def/ghi/");
    assertTrue(listener.isHttp());
    assertEquals("192.168.1.1", listener.getHost());
    assertEquals(123456, listener.getPort());
    assertEquals("abc/def/ghi/", listener.getPath());
  }
  public void testHttpURIs_withDefaultPort80() throws Exception {

    Subscriber listener = new Subscriber("http://myhost.com");
    assertTrue(listener.isHttp());
    assertEquals("myhost.com", listener.getHost());
    assertEquals(80, listener.getPort());
    assertEquals("", listener.getPath());

    listener = new Subscriber("http://myhost.com/");
    assertTrue(listener.isHttp());
    assertEquals("myhost.com", listener.getHost());
    assertEquals(80, listener.getPort());
    assertEquals("", listener.getPath());

    listener = new Subscriber("http://localhost/abc");
    assertTrue(listener.isHttp());
    assertEquals("localhost", listener.getHost());
    assertEquals(80, listener.getPort());
    assertEquals("abc", listener.getPath());

    listener = new Subscriber("http://192.168.1.1/abc/def/ghi/");
    assertTrue(listener.isHttp());
    assertEquals("192.168.1.1", listener.getHost());
    assertEquals(80, listener.getPort());
    assertEquals("abc/def/ghi/", listener.getPath());
  }
  public void testFileURIs() throws Exception {

    Subscriber listener = new Subscriber("file:///dir");
    assertTrue(listener.isFile());
    assertEquals("localhost", listener.getHost());
    assertEquals("dir", listener.getPath());

    listener = new Subscriber("file://localhost/dir/dir");
    assertTrue(listener.isFile());
    assertEquals("localhost", listener.getHost());
    assertEquals("dir/dir", listener.getPath());

    listener = new Subscriber("file://localhost/dir/dir/");
    assertTrue(listener.isFile());
    assertEquals("localhost", listener.getHost());
    assertEquals("dir/dir/", listener.getPath());

    listener = new Subscriber("file://localhost/dir/dir");
    assertTrue(listener.isFile());
    assertEquals("localhost", listener.getHost());
    assertEquals("dir/dir", listener.getPath());

    listener = new Subscriber("file://myhost.com/dir/dir");
    assertTrue(listener.isFile());
    assertEquals("myhost.com", listener.getHost());
    assertEquals("dir/dir", listener.getPath());

    listener = new Subscriber("file://192.168.1.1/dir/dir");
    assertTrue(listener.isFile());
    assertEquals("192.168.1.1", listener.getHost());
    assertEquals("dir/dir", listener.getPath());
  }