public void ParameterTest(string attributeName, string[] attributeParameters, [Frozen] Mock <IAttributeArgumentDefinitionFactory> attributeParameterDefinitionFactoryMock, AttributeDefinitionFactory factory) { Expression <Func <IAttributeArgumentDefinitionFactory, AttributeArgumentDefinition> > attributeParameterExpression = f => f.CreateAttributeParameterFromSyntax(It.IsAny <AttributeArgumentSyntax>()); attributeParameterDefinitionFactoryMock.Setup(attributeParameterExpression).Returns(() => null) .Verifiable(); var attribute = SyntaxFactory.Attribute(SyntaxFactory.IdentifierName(attributeName)); foreach (var attributeParameter in attributeParameters) { attribute = attribute.AddArgumentListArguments( SyntaxFactory.AttributeArgument(SyntaxFactory.LiteralExpression(SyntaxKind.StringLiteralExpression, SyntaxFactory.Token(SyntaxFactory.TriviaList(), SyntaxKind.StringLiteralToken, attributeParameter, attributeParameter, SyntaxFactory.TriviaList())))); } var result = factory.CreateAttributeFromSyntax(attribute); Assert.Equal(attributeName, result.Name); Assert.Equal(attributeParameters.Length, result.Parameters.Length); attributeParameterDefinitionFactoryMock.Verify(attributeParameterExpression, Times.Exactly(attributeParameters.Length)); }
public void AttributeWithoutParameters(string attributeName, AttributeDefinitionFactory factory) { var attribute = SyntaxFactory.Attribute(SyntaxFactory.IdentifierName(attributeName)); var result = factory.CreateAttributeFromSyntax(attribute); Assert.Equal(attributeName, result.Name); Assert.Empty(result.Parameters); }
public AttributeDefinitionFactoryTests() { this.factory = new AttributeDefinitionFactory(); }