### Question:
NucleotidePointLocation implements ConvertibleToHGVSString { @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; NucleotidePointLocation other = (NucleotidePointLocation) obj; if (basePos != other.basePos) return false; if (downstreamOfCDS != other.downstreamOfCDS) return false; if (offset != other.offset) return false; return true; } @Deprecated // in favour of full constructor  NucleotidePointLocation(int basePos);  NucleotidePointLocation(int basePos, int offset, boolean downstreamOfCDS); static NucleotidePointLocation build(int basePos); static NucleotidePointLocation buildWithOffset(int basePos, int offset); static NucleotidePointLocation buildDownstreamOfCDS(int basePos); int getBasePos(); int getOffset(); boolean isDownstreamOfCDS(); @Override String toHGVSString(); @Override String toHGVSString(AminoAcidCode code); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testEquals() { NucleotidePointLocation location1 = new NucleotidePointLocation(123, -3, false); NucleotidePointLocation location2 = new NucleotidePointLocation(123, -3, false); NucleotidePointLocation location3 = new NucleotidePointLocation(123, 3, false); Assert.assertTrue(location1.equals(location2)); Assert.assertTrue(location2.equals(location1)); Assert.assertFalse(location1.equals(location3)); Assert.assertFalse(location3.equals(location1)); }