Exemple #1
0
  public void testEqualsHashCode() throws Exception {
    // LUCENE-2417: equals and hashCode() impl was inconsistent
    final Directory dir = new RAMDirectory();

    IndexCommit ic1 =
        new IndexCommit() {
          @Override
          public String getSegmentsFileName() {
            return "a";
          }

          @Override
          public long getVersion() {
            return 12;
          }

          @Override
          public Directory getDirectory() {
            return dir;
          }

          @Override
          public Collection<String> getFileNames() throws IOException {
            return null;
          }

          @Override
          public void delete() {}

          @Override
          public long getGeneration() {
            return 0;
          }

          @Override
          public long getTimestamp() throws IOException {
            return 1;
          }

          @Override
          public Map<String, String> getUserData() throws IOException {
            return null;
          }

          @Override
          public boolean isDeleted() {
            return false;
          }

          @Override
          public boolean isOptimized() {
            return false;
          }
        };

    IndexCommit ic2 =
        new IndexCommit() {
          @Override
          public String getSegmentsFileName() {
            return "b";
          }

          @Override
          public long getVersion() {
            return 12;
          }

          @Override
          public Directory getDirectory() {
            return dir;
          }

          @Override
          public Collection<String> getFileNames() throws IOException {
            return null;
          }

          @Override
          public void delete() {}

          @Override
          public long getGeneration() {
            return 0;
          }

          @Override
          public long getTimestamp() throws IOException {
            return 1;
          }

          @Override
          public Map<String, String> getUserData() throws IOException {
            return null;
          }

          @Override
          public boolean isDeleted() {
            return false;
          }

          @Override
          public boolean isOptimized() {
            return false;
          }
        };

    assertEquals(ic1, ic2);
    assertEquals("hash codes are not equals", ic1.hashCode(), ic2.hashCode());
  }