void PeekAtTheEOF_throws() { var reader = new SourceStringReader("abc"); reader.Advance(); reader.Advance(); reader.Advance(); Assert.Throws <InvalidOperationException>(() => reader.CurrentChar()); }
void NextAtEnd_throws() { var reader = new SourceStringReader("abc"); reader.Advance(); reader.Advance(); reader.Advance(); Assert.Throws <InvalidOperationException>(() => reader.Advance()); }
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 NextSecond_return_second() { var reader = new SourceStringReader("abc"); reader.Advance(); Assert.Equal('b', reader.CurrentChar()); }
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); }