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 NextNonWhiteChar_at_start() { var reader = new SourceStringReader(" \t \r abc"); var success = reader.AdvanceUntilNonWhite(); Assert.True(success); Assert.Equal('a', reader.CurrentChar()); }
void PeekAtTheEOF_throws() { var reader = new SourceStringReader("abc"); reader.Advance(); reader.Advance(); reader.Advance(); Assert.Throws <InvalidOperationException>(() => reader.CurrentChar()); }
void NextAtStart_return_first() { var reader = new SourceStringReader("abc"); Assert.Equal('a', reader.CurrentChar()); }