public void Parser_Error_DetectsErrorAtEnd() { const string text = @" SELECT 'foo' WITH "; var syntaxTree = SyntaxTree.ParseQuery(text); using (var enumerator = AssertingEnumerator.ForNode(syntaxTree.Root)) { enumerator.AssertNode(SyntaxKind.CompilationUnit); enumerator.AssertNode(SyntaxKind.SelectQuery); enumerator.AssertNode(SyntaxKind.SelectClause); enumerator.AssertToken(SyntaxKind.SelectKeyword, @"SELECT"); enumerator.AssertNode(SyntaxKind.ExpressionSelectColumn); enumerator.AssertNode(SyntaxKind.LiteralExpression); enumerator.AssertToken(SyntaxKind.StringLiteralToken, @"'foo'"); enumerator.AssertNode(SyntaxKind.SkippedTokensTrivia); enumerator.AssertToken(SyntaxKind.WithKeyword, @"WITH"); enumerator.AssertToken(SyntaxKind.EndOfFileToken, @""); enumerator.AssertDiagnostic(DiagnosticId.TokenExpected, @"Found 'WITH' but expected '<End-of-File>'."); } }