public void GetTokenStream_WithTestTokenType_ReturnsCorrectTokens() { var input = "aaabbb"; var parser = new TokenParser <TestTokenType>(); parser.AddPattern(TestTokenType.Token1, "a+"); parser.AddPattern(TestTokenType.Token2, "b+"); var expectedTokens = new[] { new { Type = TestTokenType.Token1, Value = "aaa" }, new { Type = TestTokenType.Token2, Value = "bbb" }, }; var result = parser.GetTokenStream(input).ToList(); result.Should().BeEquivalentTo(expectedTokens); }