public void TestUnderscoreToken() { var syntaxNode = SyntaxFactory.DiscardDesignation(); Assert.True(syntaxNode.IsKind(SyntaxKind.DiscardDesignation)); Assert.True(syntaxNode.IsKind(SyntaxKindEx.DiscardDesignation)); var discardDesignationSyntax = (DiscardDesignationSyntaxWrapper)syntaxNode; Assert.Same(syntaxNode, discardDesignationSyntax.SyntaxNode); Assert.Equal(syntaxNode.UnderscoreToken, discardDesignationSyntax.UnderscoreToken); discardDesignationSyntax = discardDesignationSyntax.WithUnderscoreToken(SpacingExtensions.WithoutTrivia(SyntaxFactory.Token(SyntaxKind.UnderscoreToken))); Assert.NotNull(discardDesignationSyntax.SyntaxNode); Assert.NotSame(syntaxNode, discardDesignationSyntax.SyntaxNode); Assert.False(syntaxNode.UnderscoreToken.IsEquivalentTo(discardDesignationSyntax.UnderscoreToken)); }
public void TestProperties() { var syntaxNode = SyntaxFactory.ParenthesizedVariableDesignation(); Assert.True(syntaxNode.IsKind(SyntaxKind.ParenthesizedVariableDesignation)); Assert.True(syntaxNode.IsKind(SyntaxKindEx.ParenthesizedVariableDesignation)); var parenthesizedVariableDesignationSyntax = (ParenthesizedVariableDesignationSyntaxWrapper)syntaxNode; Assert.Same(syntaxNode, parenthesizedVariableDesignationSyntax.SyntaxNode); Assert.True(syntaxNode.OpenParenToken.IsEquivalentTo(parenthesizedVariableDesignationSyntax.OpenParenToken)); var variableSyntaxNode = SyntaxFactory.SingleVariableDesignation(SyntaxFactory.Identifier("Anything")); parenthesizedVariableDesignationSyntax = parenthesizedVariableDesignationSyntax.AddVariables((SingleVariableDesignationSyntaxWrapper)variableSyntaxNode); Assert.Same( ((ParenthesizedVariableDesignationSyntax)parenthesizedVariableDesignationSyntax.SyntaxNode).Variables[0], parenthesizedVariableDesignationSyntax.Variables[0].SyntaxNode); parenthesizedVariableDesignationSyntax = parenthesizedVariableDesignationSyntax.WithOpenParenToken(SpacingExtensions.WithoutTrivia(SyntaxFactory.Token(SyntaxKind.OpenParenToken))); Assert.NotNull(parenthesizedVariableDesignationSyntax.SyntaxNode); Assert.NotSame(syntaxNode, parenthesizedVariableDesignationSyntax.SyntaxNode); Assert.False(syntaxNode.OpenParenToken.IsEquivalentTo(parenthesizedVariableDesignationSyntax.OpenParenToken)); Assert.True(syntaxNode.CloseParenToken.IsEquivalentTo(parenthesizedVariableDesignationSyntax.CloseParenToken)); var variables = SyntaxFactory.SingletonSeparatedList <VariableDesignationSyntax>(SyntaxFactory.DiscardDesignation()); parenthesizedVariableDesignationSyntax = parenthesizedVariableDesignationSyntax.WithVariables(new SeparatedSyntaxListWrapper <VariableDesignationSyntaxWrapper> .AutoWrapSeparatedSyntaxList <VariableDesignationSyntax>(variables)); Assert.Same( ((ParenthesizedVariableDesignationSyntax)parenthesizedVariableDesignationSyntax.SyntaxNode).Variables[0], parenthesizedVariableDesignationSyntax.Variables[0].SyntaxNode); parenthesizedVariableDesignationSyntax = parenthesizedVariableDesignationSyntax.WithCloseParenToken(SpacingExtensions.WithoutTrivia(SyntaxFactory.Token(SyntaxKind.CloseParenToken))); Assert.NotNull(parenthesizedVariableDesignationSyntax.SyntaxNode); Assert.False(syntaxNode.OpenParenToken.IsEquivalentTo(parenthesizedVariableDesignationSyntax.OpenParenToken)); Assert.False(syntaxNode.CloseParenToken.IsEquivalentTo(parenthesizedVariableDesignationSyntax.CloseParenToken)); }