### Question:
PositionListIndex { @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } PositionListIndex other = (PositionListIndex) obj; if (clusters == null) { if (other.clusters != null) { return false; } } else { List<LongOpenHashSet> setCluster = convertClustersToSets(clusters); List<LongOpenHashSet> otherSetCluster = convertClustersToSets(other.clusters); for (LongOpenHashSet cluster : setCluster) { if (!otherSetCluster.contains(cluster)) { return false; } } for (LongOpenHashSet cluster : otherSetCluster) { if (!setCluster.contains(cluster)) { return false; } } } return true; } PositionListIndex(List<LongArrayList> clusters);  PositionListIndex(); PositionListIndex intersect(PositionListIndex otherPLI); List<LongArrayList> getClusters(); @Override PositionListIndex clone(); @Override int hashCode(); @Override boolean equals(Object obj); Long2LongOpenHashMap asHashMap(); long size(); boolean isEmpty(); boolean isUnique(); long getRawKeyError();  }### Answer:
@Test public void testEquals() { PositionListIndex firstPLI = fixture.getFirstPLI(); PositionListIndex permutatedfirstPLI = fixture.getPermutatedFirstPLI(); PositionListIndex secondPLI = fixture.getSecondPLI(); PositionListIndex supersetOfFirstPLI = fixture.getSupersetOfFirstPLI(); assertEquals(firstPLI, firstPLI); assertEquals(firstPLI, permutatedfirstPLI); assertNotEquals(firstPLI, secondPLI); assertNotEquals(firstPLI, supersetOfFirstPLI); }