### Question:
ReverseComparableCharSequence implements ComparableCharSequence { @Override public char charAt(final int index) { return sequence.charAt(startIndexRev - index); } ReverseComparableCharSequence(final CharSequence sequence); @Override int length(); @Override char charAt(final int index); @Override ComparableCharSequence subSequence(final int start, final int end); @Override int compareTo(final CharSequence other); @Override int hashCode(); @Override boolean equals(final Object obj); @Override String toString();  }### Answer:
@Test public void testCharAt() { ReverseComparableCharSequence revSeq = new ReverseComparableCharSequence("abcdefg"); assertEquals('g', revSeq.charAt(0)); assertEquals('f', revSeq.charAt(1)); assertEquals('e', revSeq.charAt(2)); assertEquals('d', revSeq.charAt(3)); assertEquals('c', revSeq.charAt(4)); assertEquals('b', revSeq.charAt(5)); assertEquals('a', revSeq.charAt(6)); }