@Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (!(o instanceof AlluxioURI)) {
      return false;
    }
    AlluxioURI that = (AlluxioURI) o;
    return mUri.equals(that.mUri);
  }
@Test
  public void multiPartSchemeEquals() {
    assertTrue(new AlluxioURI("scheme:part1://127.0.0.1:3306/a.txt")
        .equals(new AlluxioURI("scheme:part1://127.0.0.1:3306/a.txt")));
    assertFalse(new AlluxioURI("part1://127.0.0.1:3306/a.txt")
        .equals(new AlluxioURI("scheme:part1://127.0.0.1:3306/a.txt")));
    assertFalse(new AlluxioURI("scheme:part1://127.0.0.1:3306/a.txt")
        .equals(new AlluxioURI("part1://127.0.0.1:3306/a.txt")));

    assertTrue(new AlluxioURI("scheme:part1:part2://127.0.0.1:3306/a.txt")
        .equals(new AlluxioURI("scheme:part1:part2://127.0.0.1:3306/a.txt")));
    assertFalse(new AlluxioURI("part2://127.0.0.1:3306/a.txt")
        .equals(new AlluxioURI("scheme:part1:part2://127.0.0.1:3306/a.txt")));
    assertFalse(new AlluxioURI("scheme:part1:part2://127.0.0.1:3306/a.txt")
        .equals(new AlluxioURI("part2://127.0.0.1:3306/a.txt")));

    new EqualsTester()
        .addEqualityGroup(new AlluxioURI("sch:p1:p2://aaaabbbb:12345/"),
            new AlluxioURI("sch:p1:p2://aaaabbbb:12345/"))
        .addEqualityGroup(new AlluxioURI("standard://host:12345/"))
        .testEquals();
  }