@Test
  public void testRemoveOnlyURI() throws Exception {
    readConfig("");

    final URIish a = new URIish("/some/dir");
    final RemoteConfig rc = new RemoteConfig(config, "backup");
    assertTrue(rc.addURI(a));

    assertEquals(1, rc.getURIs().size());
    assertSame(a, rc.getURIs().get(0));

    assertTrue(rc.removeURI(a));
    assertEquals(0, rc.getURIs().size());
  }
  @Test
  public void testSaveRemoveFirstURI() throws Exception {
    readConfig(
        "[remote \"spearce\"]\n"
            + "url = http://www.spearce.org/egit.git\n"
            + "url = /some/dir\n"
            + "fetch = +refs/heads/*:refs/remotes/spearce/*\n");

    final RemoteConfig rc = new RemoteConfig(config, "spearce");
    assertEquals(2, rc.getURIs().size());
    rc.removeURI(new URIish("http://www.spearce.org/egit.git"));
    assertEquals(1, rc.getURIs().size());
    rc.update(config);
    checkConfig(
        "[remote \"spearce\"]\n"
            + "\turl = /some/dir\n"
            + "\tfetch = +refs/heads/*:refs/remotes/spearce/*\n");
  }
  @Test
  public void testRemoveLastURI() throws Exception {
    readConfig("");

    final URIish a = new URIish("/some/dir");
    final URIish b = new URIish("/another/dir");
    final URIish c = new URIish("/more/dirs");
    final RemoteConfig rc = new RemoteConfig(config, "backup");
    assertTrue(rc.addURI(a));
    assertTrue(rc.addURI(b));
    assertTrue(rc.addURI(c));

    assertEquals(3, rc.getURIs().size());
    assertSame(a, rc.getURIs().get(0));
    assertSame(b, rc.getURIs().get(1));
    assertSame(c, rc.getURIs().get(2));

    assertTrue(rc.removeURI(c));
    assertEquals(2, rc.getURIs().size());
    assertSame(a, rc.getURIs().get(0));
    assertSame(b, rc.getURIs().get(1));
  }