using CanonSharp.Common.Abstractions; using StringReader = CanonSharp.Common.Reader.StringReader; namespace CanonSharp.Tests.LexicalAnalyzerTests; public class ReaderTests { [Fact] public void StringReaderTest() { StringReader reader = new("ab"); Assert.True(reader.TryPeek(out char c)); Assert.Equal('a', c); Assert.True(reader.TryPeek(out c)); Assert.Equal('a', c); Assert.Equal('a', reader.Read()); Assert.True(reader.TryPeek(out c)); Assert.Equal('b', c); Assert.True(reader.TryPeek(out c)); Assert.Equal('b', c); Assert.Equal('b', reader.Read()); Assert.False(reader.TryPeek(out c)); } }