CanonSharp/CanonSharp.Tests/ReaderTests/StringReadStateTests.cs
2024-08-14 19:41:10 +08:00

22 lines
521 B
C#

using CanonSharp.Combinator.Extensions;
using CanonSharp.Pascal.Scanner;
namespace CanonSharp.Tests.LexicalAnalyzerTests;
public class StringReadStateTests
{
[Fact]
public void AsEnumerableTest()
{
StringReadState state = new("abc");
IEnumerable<StringReadState> states = state.AsEnumerable<char, StringReadState>();
foreach ((char c, StringReadState s) in "abc".Zip(states))
{
Assert.True(s.HasValue);
Assert.Equal(c, s.Current);
}
}
}