### Question:
RangeLongBlock implements Comparable<RangeLongBlock>, Iterable<Long> { @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } RangeLongBlock other = (RangeLongBlock)obj; return myEndValue == other.myEndValue && myStartValue == other.myStartValue; } RangeLongBlock(long value);  RangeLongBlock(long startValue, long endValue);  RangeLongBlock(RangeLongBlock other); static List<RangeLongBlock> createRangeLongBlocks(Collection<? extends Long> values); static List<RangeLongBlock> createRangeLongBlocks(long[] values); static List<RangeLongBlock> createRangeLongBlocks(Long[] values); static List<RangeLongBlock> createSubBlocksByRemovingValue(RangeLongBlock block, long valueToRemove); static boolean isContiguous(long[] values); static RangeLongBlock merge(RangeLongBlock one, RangeLongBlock two); boolean borders(long value); boolean borders(RangeLongBlock block); @Override int compareTo(RangeLongBlock o); boolean containsValue(long value); @Override boolean equals(Object obj); boolean formsContiguousRange(RangeLongBlock other); long getEnd(); RangeRelationType getRelation(RangeLongBlock block); long getStart(); @Override int hashCode(); RangeLongBlock intersection(RangeLongBlock other); boolean isAfter(RangeLongBlock other); boolean isBefore(RangeLongBlock other); @Override Iterator<Long> iterator(); boolean overlaps(RangeLongBlock other); int size(); @Override String toString();  }### Answer:
@Test public void testCopyCtor() { RangeLongBlock aBlock = new RangeLongBlock(1, 10); Object copyObj = new RangeLongBlock(aBlock); Assert.assertTrue(aBlock.equals(copyObj)); }
@Test public void testEquals() { RangeLongBlock aBlock = new RangeLongBlock(1, 10); RangeLongBlock bBlock = new RangeLongBlock(1, 10); RangeLongBlock cBlock = new RangeLongBlock(2, 4); RangeLongBlock dBlock = new RangeLongBlock(1, 4); RangeLongBlock eBlock = new RangeLongBlock(2, 10); RangeLongBlock fBlock = new RangeLongBlock(-3, -1); RangeLongBlock gBlock = new RangeLongBlock(33, 34); Assert.assertTrue(aBlock.equals(bBlock)); Assert.assertTrue(!aBlock.equals(cBlock)); Assert.assertTrue(!aBlock.equals(dBlock)); Assert.assertTrue(!aBlock.equals(eBlock)); Assert.assertTrue(!aBlock.equals(fBlock)); Assert.assertTrue(!aBlock.equals(gBlock)); }