void Position_points_at_0_0_when_begin() { var reader = new SourceStringReader(" \t \r \n \r "); Assert.Equal(0, reader.Position.Line); Assert.Equal(0, reader.Position.Column); }
void NextSecond_return_second() { var reader = new SourceStringReader("abc"); reader.Advance(); Assert.Equal('b', reader.CurrentChar()); }
void PeekAtStart_return_first() { var reader = new SourceStringReader("abc"); var c = reader.CurrentChar(); Assert.Equal('a', c); }
void PeekAfterOneNext_return_second() { var reader = new SourceStringReader("abc"); reader.Advance(); var c = reader.CurrentChar(); Assert.Equal('b', c); }
void PrevioutPositionTest() { var reader = new SourceStringReader("io"); reader.Advance(); Assert.Equal(0, reader.PreviousPosition.Column); Assert.Equal(0, reader.PreviousPosition.Line); }
void Position_column_increases_when_next() { var reader = new SourceStringReader("abc"); reader.Advance(); Assert.Equal(0, reader.Position.Line); Assert.Equal(1, reader.Position.Column); }
void NextNonWhiteChar_at_start() { var reader = new SourceStringReader(" \t \r abc"); var success = reader.AdvanceUntilNonWhite(); Assert.True(success); Assert.Equal('a', reader.CurrentChar()); }
void NextAtEnd_throws() { var reader = new SourceStringReader("abc"); reader.Advance(); reader.Advance(); reader.Advance(); Assert.Throws <InvalidOperationException>(() => reader.Advance()); }
void PeekAtTheEOF_throws() { var reader = new SourceStringReader("abc"); reader.Advance(); reader.Advance(); reader.Advance(); Assert.Throws <InvalidOperationException>(() => reader.CurrentChar()); }
void Position_column_set_0_and_line_incr_1() { var source = "ab\nasd"; var reader = new SourceStringReader(source); reader.Advance(); // a reader.Advance(); // b reader.Advance(); // This reads \n Assert.Equal(0, reader.Position.Column); Assert.Equal(1, reader.Position.Line); }
void NextNonWhiteChar_returns_false_when_no_more_nonwhite() { var reader = new SourceStringReader(" \t \r \n \r "); Assert.False(reader.AdvanceUntilNonWhite()); }
void NextAtStart_return_first() { var reader = new SourceStringReader("abc"); Assert.Equal('a', reader.CurrentChar()); }