예제 #1
0
        public Task PropertyOnBinaryOperationAsync(int literal, BinaryOperatorKind @operator, bool isRightSideExpression)
        {
            string testSource;
            string fixedSource;

            if (isRightSideExpression)
            {
                testSource  = SourceProvider.GetTargetExpressionBinaryExpressionCode(literal, @operator, withPredicate: false, "Count");
                fixedSource = SourceProvider.GetTargetPropertyBinaryExpressionCode(literal, @operator, SourceProvider.MemberName);
            }
            else
            {
                testSource  = SourceProvider.GetTargetExpressionBinaryExpressionCode(@operator, literal, withPredicate: false, "Count");
                fixedSource = SourceProvider.GetTargetPropertyBinaryExpressionCode(@operator, literal, SourceProvider.MemberName);
            }

            testSource = SourceProvider.GetCodeWithExpression(
                testSource, additionalNamspaces: SourceProvider.ExtensionsNamespace);

            fixedSource = SourceProvider.GetCodeWithExpression(
                fixedSource, additionalNamspaces: SourceProvider.ExtensionsNamespace);

            int line   = VerifierBase.GetNumberOfLines(testSource) - 3;
            int column = isRightSideExpression ?
                         21 + 3 + GetOperatorLength(SourceProvider, @operator) :
                         21;

            return(VerifyAsync(SourceProvider.MemberName, testSource, fixedSource, extensionsSource: null, line, column));
        }
예제 #2
0
 public Task RightNotCountComparison_NoDiagnostic(int value, BinaryOperatorKind @operator)
 => this.VerifyAsync(
     testSource:
     SourceProvider.GetCodeWithExpression(
         SourceProvider.GetTargetExpressionBinaryExpressionCode(value, @operator, false, "Sum"),
         SourceProvider.ExtensionsNamespace),
     extensionsSource:
     SourceProvider.IsAsync ? SourceProvider.GetExtensionsCode(SourceProvider.ExtensionsNamespace, SourceProvider.ExtensionsClass) : null);
예제 #3
0
 public Task ZeroEqualsProperty_Fixed()
 => VerifyAsync(
     methodName: null,
     testSource: SourceProvider.GetCodeWithExpression(
         SourceProvider.GetTargetPropertyEqualsInvocationCode(0, SourceProvider.MemberName)),
     fixedSource: SourceProvider.GetCodeWithExpression(
         SourceProvider.GetFixedIsEmptyPropertyCode(negate: false)),
     extensionsSource: null);
예제 #4
0
 public Task LeftCountNotComparison_NoDiagnostic(bool withPredicate)
 => this.VerifyAsync(
     testSource:
     SourceProvider.GetCodeWithExpression(
         SourceProvider.GetTargetExpressionBinaryExpressionCode(BinaryOperatorKind.Add, int.MaxValue, withPredicate),
         SourceProvider.ExtensionsNamespace),
     extensionsSource:
     SourceProvider.IsAsync ? SourceProvider.GetExtensionsCode(SourceProvider.ExtensionsNamespace, SourceProvider.ExtensionsClass) : null);
예제 #5
0
 public Task ZeroEqualsNotCount_NoDiagnostic()
 => this.VerifyAsync(
     testSource:
     SourceProvider.GetCodeWithExpression(
         SourceProvider.GetEqualsTargetExpressionInvocationCode(0, false, "Sum"),
         SourceProvider.ExtensionsNamespace),
     extensionsSource:
     SourceProvider.IsAsync ? SourceProvider.GetExtensionsCode(SourceProvider.ExtensionsNamespace, SourceProvider.ExtensionsClass) : null);
예제 #6
0
 public Task NonZeroEqualsCount_NoDiagnostic(bool withPredicate)
 => this.VerifyAsync(
     testSource:
     SourceProvider.GetCodeWithExpression(
         SourceProvider.GetEqualsTargetExpressionInvocationCode(1, withPredicate),
         SourceProvider.ExtensionsNamespace),
     extensionsSource:
     SourceProvider.IsAsync ? SourceProvider.GetExtensionsCode(SourceProvider.ExtensionsNamespace, SourceProvider.ExtensionsClass) : null);
예제 #7
0
 public Task RightNotTargetCountComparison_NoDiagnostic(int value, BinaryOperatorKind @operator, bool withPredicate)
 => this.VerifyAsync(
     testSource:
     SourceProvider.GetCodeWithExpression(
         SourceProvider.GetTargetExpressionBinaryExpressionCode(@operator, value, withPredicate),
         SourceProvider.TestNamespace),
     extensionsSource:
     SourceProvider.GetExtensionsCode(SourceProvider.TestNamespace, SourceProvider.TestExtensionsClass));
예제 #8
0
 public Task CountEqualsNonZero_WithoutPredicate_FixedAsync()
 => VerifyAsync(
     methodName: SourceProvider.MemberName,
     testSource: SourceProvider.GetCodeWithExpression(
         SourceProvider.GetTargetExpressionEqualsInvocationCode(1, withPredicate: false, "Count"),
         SourceProvider.ExtensionsNamespace),
     fixedSource: SourceProvider.GetCodeWithExpression(
         SourceProvider.GetTargetPropertyEqualsInvocationCode(1, SourceProvider.MemberName),
         SourceProvider.ExtensionsNamespace),
     extensionsSource: null);
예제 #9
0
 public Task ZeroEqualsLinqCount_Fixed()
 => VerifyAsync(
     methodName: null,
     testSource: SourceProvider.GetCodeWithExpression(
         SourceProvider.GetTargetExpressionEqualsInvocationCode(0, withPredicate: false, "Count"),
         additionalNamspaces: SourceProvider.ExtensionsNamespace),
     fixedSource: SourceProvider.GetCodeWithExpression(
         SourceProvider.GetFixedIsEmptyPropertyCode(negate: false),
         additionalNamspaces: SourceProvider.ExtensionsNamespace),
     extensionsSource: null);
예제 #10
0
 public Task NonZeroEqualsCount_WithoutPredicate_FixedAsync()
 => VerifyAsync(
     methodName: SourceProvider.MemberName,
     testSource: SourceProvider.GetCodeWithExpression(
         SourceProvider.GetEqualsTargetExpressionInvocationCode(1, withPredicate: false, "Count"),
         SourceProvider.ExtensionsNamespace),
     fixedSource: SourceProvider.GetCodeWithExpression(
         SourceProvider.GetEqualsTargetPropertyInvocationCode(1, SourceProvider.MemberName),
         SourceProvider.ExtensionsNamespace),
     extensionsSource: null,
     line: 10, column: 30);
예제 #11
0
 public Task ZeroEqualsCount_Fixed(bool withPredicate)
 => this.VerifyAsync(
     testSource:
     SourceProvider.GetCodeWithExpression(
         SourceProvider.WithDiagnostic(SourceProvider.GetEqualsTargetExpressionInvocationCode(0, withPredicate)),
         SourceProvider.ExtensionsNamespace),
     fixedSource:
     SourceProvider.GetCodeWithExpression(
         SourceProvider.GetFixedExpressionCode(withPredicate, true),
         SourceProvider.ExtensionsNamespace),
     extensionsSource:
     SourceProvider.IsAsync ? SourceProvider.GetExtensionsCode(SourceProvider.ExtensionsNamespace, SourceProvider.ExtensionsClass) : null);
예제 #12
0
 public Task RightTargetCountComparison_Fixed(int value, BinaryOperatorKind @operator, bool withPredicate, bool negate)
 => this.VerifyAsync(
     testSource:
     SourceProvider.GetCodeWithExpression(
         SourceProvider.WithDiagnostic(SourceProvider.GetTargetExpressionBinaryExpressionCode(value, @operator, withPredicate)),
         SourceProvider.ExtensionsNamespace),
     fixedSource:
     SourceProvider.GetCodeWithExpression(
         SourceProvider.GetFixedExpressionCode(withPredicate, negate),
         SourceProvider.ExtensionsNamespace),
     extensionsSource:
     SourceProvider.IsAsync ? SourceProvider.GetExtensionsCode(SourceProvider.ExtensionsNamespace, SourceProvider.ExtensionsClass) : null);
예제 #13
0
        public Task LinqMethodOnBinaryOperation(int literal, BinaryOperatorKind @operator, bool isRightSideExpression, bool shouldNegate)
        {
            string testSource = SourceProvider.GetCodeWithExpression(
                isRightSideExpression ?
                SourceProvider.GetTargetExpressionBinaryExpressionCode(literal, @operator, withPredicate: false, "Count") :
                SourceProvider.GetTargetExpressionBinaryExpressionCode(@operator, literal, withPredicate: false, "Count"),
                additionalNamspaces: SourceProvider.ExtensionsNamespace);

            string fixedSource = SourceProvider.GetCodeWithExpression(
                SourceProvider.GetFixedIsEmptyPropertyCode(shouldNegate),
                additionalNamspaces: SourceProvider.ExtensionsNamespace);

            return(VerifyAsync(methodName: null, testSource, fixedSource, extensionsSource: null));
        }
예제 #14
0
        public Task PropertyOnBinaryOperation(bool noDiagnosis, int literal, BinaryOperatorKind @operator, bool isRightSideExpression, bool shouldNegate)
        {
            string testSource = isRightSideExpression ?
                                SourceProvider.GetTargetPropertyBinaryExpressionCode(literal, @operator, SourceProvider.MemberName) :
                                SourceProvider.GetTargetPropertyBinaryExpressionCode(@operator, literal, SourceProvider.MemberName);

            testSource = SourceProvider.GetCodeWithExpression(testSource);

            if (noDiagnosis)
            {
                return(VerifyAsync(testSource, extensionsSource: null));
            }
            else
            {
                string fixedSource = SourceProvider.GetCodeWithExpression(SourceProvider.GetFixedIsEmptyPropertyCode(shouldNegate));
                return(VerifyAsync(methodName: null, testSource, fixedSource, extensionsSource: null));
            }
        }