### Question:
Cursor { public char getNext() { return getNext(1); } Cursor(TextSegment segment); int getOffset(); int getOffset(int cursorOffset); int toCursorOffset(int documentOffset); char getChar(); char getChar(int offset); boolean hasChar(); String getText(int offset, int endIndex); char getPrevious(); boolean hasPrevious(); boolean hasPrevious(int offset); char getPrevious(int offset); char getNext(); char getNext(int offset); String getTextAtOffset(); String getTextAtOffset(int length); boolean hasNext(); boolean hasNext(int offset); Matcher matcher(Pattern pattern); Matcher matcher(int offset, Pattern pattern); void advance(); void advance(int count); void rewind(int count); void rewind(); Line getLineAtOffset();  }### Answer:
@Test public void getNext() { Cursor cursor = new Cursor(createTextSegment("123")); assertTrue(cursor.hasNext()); assertTrue(cursor.hasNext(1)); assertEquals('2', cursor.getNext()); assertTrue(cursor.hasNext(2)); assertEquals('3', cursor.getNext(2)); assertFalse(cursor.hasNext(3)); cursor.advance(); assertTrue(cursor.hasNext()); assertEquals('3', cursor.getNext()); assertFalse(cursor.hasNext(2)); cursor.advance(); assertFalse(cursor.hasNext()); assertFalse(cursor.hasNext(1)); }