@Test
  public void getPortの引数にftpスキームのURIを渡した場合_マイナス1が返されること() {

    // Setup
    URI uri = URIUtil.toURI("ftp://www.ambrosoli.jp/"); // $NON-NLS-1$

    // Exercise
    int actual = URIUtil.getPort(uri);

    // Verify
    assertThat(actual, is(-1));
  }
  @Test
  public void getPortの引数にポート番号を指定しないhttpsスキームのURIを渡した場合_443が返されること() {

    // Setup
    URI uri = URIUtil.toURI("https://www.ambrosoli.jp/"); // $NON-NLS-1$

    // Exercise
    int actual = URIUtil.getPort(uri);

    // Verify
    assertThat(actual, is(443));
  }
  @Test
  public void getPortの引数にポート番号8080を指定したhttpスキームのURIを渡した場合_8080が返されること() {

    // Setup
    URI uri = URIUtil.toURI("http://www.ambrosoli.jp:8080/"); // $NON-NLS-1$

    // Exercise
    int actual = URIUtil.getPort(uri);

    // Verify
    assertThat(actual, is(8080));
  }
  @Test
  public void addQueryStringの引数にURIと空文字を渡すと_クエリストリングが追加されないこと() {

    // Setup
    URI uri = URIUtil.toURI("http://www.ambrosoli.jp/"); // $NON-NLS-1$
    String queryString = ""; // $NON-NLS-1$

    // Exercise
    URI actual = URIUtil.addQueryString(uri, queryString);

    // Verify
    assertThat(actual.toString(), is(equalTo("http://www.ambrosoli.jp/"))); // $NON-NLS-1$
  }
  @Test
  public void isSSLの引数にftpスキームのURI文字列を渡した場合_falseが返されること() {

    // Setup
    String uri = null;

    // Exercise
    boolean actual = URIUtil.isSSL(uri);
    // Verify
    assertThat(actual, is(false));
  }
  @Test
  public void isPlainの引数にhttpスキームのURIを渡した場合_trueが返されること() {

    // Setup
    URI uri = URI.create("http://www.ambrosoli.jp/"); // $NON-NLS-1$

    // Exercise
    boolean actual = URIUtil.isPlain(uri);

    // Verify
    assertThat(actual, is(true));
  }
  @Test
  public void toURIの引数に空文字を渡した場合_nullが返されること() {

    // Setup
    String uri = ""; // $NON-NLS-1$

    // Exercise
    URI actual = URIUtil.toURI(uri);

    // Verify
    assertThat(actual, is(nullValue()));
  }
  @Test
  public void toURIの引数にhttpsスキームのURI文字列を渡した場合_URIが生成されること() {

    // Setup
    String uri = "https://www.ambrosoli.jp/"; // $NON-NLS-1$

    // Exercise
    URI actual = URIUtil.toURI(uri);

    // Verify
    assertThat(actual.toString(), is(equalTo(uri)));
  }
  @Test
  public void isPlainの引数に文字列型のnullを渡した場合_falseが返されること() {

    // Setup
    String uri = "willard379"; // $NON-NLS-1$

    // Exercise
    boolean actual = URIUtil.isPlain(uri);

    // Verify
    assertThat(actual, is(false));
  }
  @Test
  public void isPlainの引数にURIでない文字列を渡した場合_falseが返されること() {

    // Setup
    String uri = "ftp://www.ambrosoli.jp/"; // $NON-NLS-1$

    // Exercise
    boolean actual = URIUtil.isPlain(uri);

    // Verify
    assertThat(actual, is(false));
  }
  @Test
  public void isSSLの引数にhttpスキームのURI文字列を渡した場合_falseが返されること() {

    // Setup
    String uri = "http://www.ambrosoli.jp/"; // $NON-NLS-1$

    // Exercise
    boolean actual = URIUtil.isSSL(uri);

    // Verify
    assertThat(actual, is(false));
  }
  @Test
  public void getPortの引数にnullを渡した場合_マイナス1が返されること() {

    // Setup
    URI uri = null;

    // Exercise
    int actual = URIUtil.getPort(uri);

    // Verify
    assertThat(actual, is(-1));
  }
  @Test
  public void isSSLの引数にURI型のnullを渡した場合_falseが返されること() {

    // Setup
    URI uri = null;

    // Exercise
    boolean actual = URIUtil.isSSL(uri);

    // Verify
    assertThat(actual, is(false));
  }
  @Test
  public void isSSLの引数にデタラメなURIを渡した場合_falseが返されること() {

    // Setup
    URI uri = URI.create("willard379"); // $NON-NLS-1$

    // Exercise
    boolean actual = URIUtil.isSSL(uri);

    // Verify
    assertThat(actual, is(false));
  }
  @Test
  public void isSSLの引数にftpスキームのURIを渡した場合_falseが返されること() {

    // Setup
    URI uri = URI.create("ftp://www.ambrosoli.jp/"); // $NON-NLS-1$

    // Exercise
    boolean actual = URIUtil.isSSL(uri);

    // Verify
    assertThat(actual, is(false));
  }
  @Test
  public void addQueryStringの引数がどちらもnullの場合_nullが返されること() {

    // Setup
    URI uri = null;
    String queryString = null;

    // Exercise
    URI actual = URIUtil.addQueryString(uri, queryString);

    // Verify
    assertThat(actual, is(nullValue()));
  }
  @Test
  public void addQueryStringの引数にnullとクエリストリングを渡すと_nullが返されること() {

    // Setup
    URI uri = null;
    String queryString = "?a=A"; // $NON-NLS-1$

    // Exercise
    URI actual = URIUtil.addQueryString(uri, queryString);

    // Verify
    assertThat(actual, is(nullValue()));
  }