26 lines
708 B
C#
26 lines
708 B
C#
|
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));
|
||
|
}
|
||
|
}
|