public void GetPreviousStatementsCurrentBlockOfNotAStatement() { const string code = "int x = 42;"; var syntaxTree = CSharpSyntaxTree.ParseText(code); var compilationUnit = syntaxTree.GetCompilationUnitRoot(); SyntaxNodeExtensions.GetPreviousStatementsCurrentBlock(compilationUnit).Should().BeEmpty(); }
public void GetPreviousStatementsCurrentBlockRetrievesOnlyForCurrentBlock() { const string code = "public void M(string y) { string s = null; if (y != null) { int x = 42; } }"; var syntaxTree = CSharpSyntaxTree.ParseText(code); var aToken = GetFirstTokenOfKind(syntaxTree, SyntaxKind.NumericLiteralToken); var parent = aToken.GetBindableParent(); SyntaxNodeExtensions.GetPreviousStatementsCurrentBlock(parent).Should().BeEmpty(); }
public void GetPreviousStatementsCurrentBlockOfSecondStatement() { const string code = "public void M() { string s = null; int x = 42; }"; var syntaxTree = CSharpSyntaxTree.ParseText(code); var aToken = GetFirstTokenOfKind(syntaxTree, SyntaxKind.NumericLiteralToken); var parent = aToken.GetBindableParent(); SyntaxNodeExtensions.GetPreviousStatementsCurrentBlock(parent).Should().HaveCount(1); }