### Question:
GAV implements Comparable<GAV> { @Override public boolean equals(final Object other) { return other == this || other instanceof GAV && compareTo((GAV) other) == 0; } GAV(final String groupId, final String artifactId, final String version); static GAV getInstance(final String coordinates); int compareTo(final GAV other); @Override boolean equals(final Object other); String getArtifactId(); String getGroupId(); String getVersion(); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testInstancesWithDifferentVersionsAreNotEqual() { assertFalse(GAV_1A.equals(GAV_2)); assertFalse(GAV_2.equals(GAV_1A)); }
@Test public void testInstancesWithSameCoordinatesAreEqual() { assertTrue(GAV_1A.equals(GAV_1B)); assertTrue(GAV_1B.equals(GAV_1A)); }