### Question:
NucleotidePointLocation implements ConvertibleToHGVSString { @Override public String toHGVSString() { final int shift = (this.basePos >= 0) ? 1 : 0; final String prefix = downstreamOfCDS ? "*" : ""; if (offset == 0) return prefix + Integer.toString(this.basePos + shift); else if (offset > 0) return prefix + Joiner.on("").join(this.basePos + shift, "+", offset); else return prefix + Joiner.on("").join(this.basePos + shift, "-", -offset); } @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 testToHGVSString() { NucleotidePointLocation location1 = new NucleotidePointLocation(123, -3, false); NucleotidePointLocation location2 = new NucleotidePointLocation(123, 0, true); Assert.assertEquals("124-3", location1.toHGVSString()); Assert.assertEquals("124-3", location1.toHGVSString(AminoAcidCode.ONE_LETTER)); Assert.assertEquals("124-3", location1.toHGVSString(AminoAcidCode.THREE_LETTER)); Assert.assertEquals("*124", location2.toHGVSString()); }