protected override ExpressionSyntax GetNewExpression(ExpressionSyntax expression, FluentAssertionsDiagnosticProperties properties) { var remove = new NodeReplacement.RemoveAndExtractArgumentsNodeReplacement("Contains"); var newExpression = GetNewExpression(expression, remove); return(GetNewExpression(newExpression, new NodeReplacement.RenameAndPrependArgumentsNodeReplacement("BeFalse", "NotContain", remove.Arguments))); }
protected override ExpressionSyntax GetNewExpression(ExpressionSyntax expression, FluentAssertionsDiagnosticProperties properties) { if (properties.VisitorName == nameof(CollectionShouldContainPropertyAnalyzer.AnyShouldBeTrueSyntaxVisitor)) { var remove = new NodeReplacement.RemoveAndExtractArgumentsNodeReplacement("Any"); var newExpression = GetNewExpression(expression, remove); return(GetNewExpression(newExpression, new NodeReplacement.RenameAndPrependArgumentsNodeReplacement("BeTrue", "Contain", remove.Arguments))); } else if (properties.VisitorName == nameof(CollectionShouldContainPropertyAnalyzer.WhereShouldNotBeEmptySyntaxVisitor)) { var remove = new NodeReplacement.RemoveAndExtractArgumentsNodeReplacement("Where"); var newExpression = GetNewExpression(expression, remove); return(GetNewExpression(newExpression, new NodeReplacement.RenameAndPrependArgumentsNodeReplacement("NotBeEmpty", "Contain", remove.Arguments))); } throw new System.InvalidOperationException($"Invalid visitor name - {properties.VisitorName}"); }