Esempio n. 1
0
        public void GetIdentifierTokenValueTextReturnsNullForInvalidNode()
        {
            // Given
            SyntaxTree syntaxTree = Microsoft.CodeAnalysis.CSharp.CSharpSyntaxTree.ParseText("int c = 0;",
                                                                                             InternalsHelper.GetCSharpParseOptionsForSourceCodeKind(SourceCodeKind.Script));
            SyntaxNode syntaxNode = syntaxTree.GetRoot();  // The root will never have an identifier token

            // When
            string tokenValueText = InternalsHelper.GetIdentifierTokenValueText(syntaxNode);

            // Then
            Assert.IsNull(tokenValueText);
        }
Esempio n. 2
0
        public void GetIdentifierTokenValueTextReturnsTokenValueTextForValidNode()
        {
            // Given
            SyntaxTree syntaxTree = Microsoft.CodeAnalysis.CSharp.CSharpSyntaxTree.ParseText("int c = 0;",
                                                                                             InternalsHelper.GetCSharpParseOptionsForSourceCodeKind(SourceCodeKind.Script));
            SyntaxToken syntaxToken = syntaxTree.GetRoot()
                                      .DescendantNodesAndTokens()
                                      .Where(x => x.IsToken)
                                      .Select(x => x.AsToken())
                                      .First(x => Microsoft.CodeAnalysis.CSharp.CSharpExtensions.Kind(x) == Microsoft.CodeAnalysis.CSharp.SyntaxKind.IdentifierToken);
            SyntaxNode syntaxNode = syntaxToken.Parent;

            // When
            string tokenValueText = InternalsHelper.GetIdentifierTokenValueText(syntaxNode);

            // Then
            Assert.AreEqual("c", tokenValueText);
        }