### Question:
Region { @Override public String toString() { StringBuilder sb = new StringBuilder(this.chromosome); if (this.end != Integer.MAX_VALUE && this.start != 0) { sb.append(":").append(this.start).append("-").append(this.end); } return sb.toString(); } Region();  Region(String chromosome, int position);  Region(String chromosome, int start, int end);  Region(String region); static Region parseRegion(String regionString); static List<Region> parseRegions(String regionsString); static List<Region> parseRegions(String regionsString, boolean normalize); String normalizeChromosome(); static String normalizeChromosome(String chromosome); int size(); boolean contains(String chromosome, int position); boolean overlaps(String chromosome, int start, int end); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode(); String getChromosome(); Region setChromosome(String chromosome); int getStart(); Region setStart(int start); int getEnd(); Region setEnd(int end);  }### Answer:
@Test public void testParse() { assertEquals("1", new Region("1").toString()); assertEquals("chr1", new Region("chr1").toString()); assertEquals("1:100-100", new Region("1:100").toString()); assertEquals("1:100-100", new Region("1:100-100").toString()); assertEquals("1:100-200", new Region("1:100-200").toString()); }