public void TextTokenTest() { var tokens = new[] { new Token( Parser._rule, "<%rule" ), null, new Token( Parser._ident, "Test" ), new Token( Parser._endStatement, "%>" ), new Token( Parser._end, "<%end%>" ) }; var text = string.Join( "", tokens.Select( t => t != null ? t.value : " " ).ToArray() ); var scanner = new global::WolfGenerator.Core.Parsing.Scanner( new MemoryStream( Encoding.UTF8.GetBytes( text ) ) ); foreach (var expectedTokenValue in tokens.Where( s => s != null )) { var actualTokenValue = scanner.Scan(); Assert.That( actualTokenValue.val, Is.EqualTo( expectedTokenValue.value ) ); if (expectedTokenValue.type.HasValue) Assert.That( actualTokenValue.kind, Is.EqualTo( expectedTokenValue.type.Value ), "Wrong kind of parsing token" ); } }