public void NonPrivateInnerTypes_YieldDiagnostics()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA1102InnerTypesMustBePrivateAnalyzer());
            var expected1 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA1102InnerTypesMustBePrivateMessageFormat, "Interface1"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(7, 28, 38)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA1102InnerTypesMustBePrivateMessageFormat, "Enum1"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(8, 21, 26)));

            var expected3 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA1102InnerTypesMustBePrivateMessageFormat, "Class2"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(9, 22, 28)));

            DiagnosticVerifier.VerifyDiagnostics <AA1102InnerTypesMustBePrivateAnalyzer>(
                @"..\..\..\CodeUnderTest\CodeToTestInnerTypesMustBePrivate.cs",
                expected1,
                expected2,
                expected3);
        }
Esempio n. 2
0
        public void ThrowingNotImplemented_YieldsDiagnostics()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA2000DoNotUseNotImplementedExceptionAnalyzer());
            var expected1 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA2000DoNotUseNotImplementedExceptionMessageFormat),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(21, 23, 46)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA2000DoNotUseNotImplementedExceptionMessageFormat),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(26, 19, 22)));

            var expected3 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA2000DoNotUseNotImplementedExceptionMessageFormat),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(37, 19, 21)));

            var expected4 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA2000DoNotUseNotImplementedExceptionMessageFormat),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(42, 19, 32)));

            DiagnosticVerifier.VerifyDiagnostics <AA2000DoNotUseNotImplementedExceptionAnalyzer>(
                @"..\..\..\CodeUnderTest\CodeToTestLSPViolatingExceptions.cs",
                expected1,
                expected2,
                expected3,
                expected4);
        }
Esempio n. 3
0
        public void MethodsWithRefOrOutParams_YieldsDiagnostics()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA2104FileMustOnlyContainOneTypeDefinitionAnalyzer());
            var expected1 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA2104FileMustOnlyContainOneTypeDefinitionMessageFormat, "Class1"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(3, 18, 24)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA2104FileMustOnlyContainOneTypeDefinitionMessageFormat, "Struct2"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(11, 21, 28)));

            var expected3 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA2104FileMustOnlyContainOneTypeDefinitionMessageFormat, "Interface3"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(19, 22, 32)));

            var expected4 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA2104FileMustOnlyContainOneTypeDefinitionMessageFormat, "Enum3"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(21, 19, 24)));

            DiagnosticVerifier.VerifyDiagnostics <AA2104FileMustOnlyContainOneTypeDefinitionAnalyzer>(
                TestFiles.CodeToTestFileMustOnlyContainOneTypeDefinition,
                expected1,
                expected2,
                expected3,
                expected4);
        }
        public void InterfacePropertiesWithSetters_YieldsDiagnostics()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA1100InterfacePropertiesShouldBeRead_OnlyAnalyzer());

            var expected1 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA1100InterfacePropertiesShouldBeReadOnlyMessageFormat,
                                                   "Property2",
                                                   "IContainsSetters"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(9, 26, 29)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA1100InterfacePropertiesShouldBeReadOnlyMessageFormat,
                                                   "Property3",
                                                   "IContainsSetters"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(11, 30, 33)));

            var expected3 =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA1100InterfacePropertiesShouldBeReadOnlyMessageFormat,
                                                   "Property4",
                                                   "IContainsSetters"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(12, 26, 29)));

            DiagnosticVerifier.VerifyDiagnostics <AA1100InterfacePropertiesShouldBeRead_OnlyAnalyzer>(
                @"..\..\CodeUnderTest\CodeToTestInterfacePropertySetters.cs",
                expected1,
                expected2,
                expected3);
        }
        public void BooleanReassignments_YieldsDiagnostics()
        {
            var analyzer       = new AA1301VariablesShouldBeAssignedOnceOnlyAnalyzer();
            var commonExpected = new DiagnosticResultCommonProperties(analyzer);

            var expected1 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "b"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(11, 13, 22)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "b"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(12, 13, 23)));

            var expected3 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "b"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(13, 13, 23)));

            DiagnosticVerifier.VerifyDiagnostics <AA1301VariablesShouldBeAssignedOnceOnlyAnalyzer>(
                @"..\..\CodeUnderTest\CodeToTestBooleanVariableReassignments.cs",
                expected1,
                expected2,
                expected3);
        }
        public void BasicReassignmentsWithIncorrectlyIngoredVariables_YieldsDiagnostics()
        {
            var analyzer = new AA1301VariablesShouldBeAssignedOnceOnlyAnalyzer();
            var analyzerCommonExpected            = new DiagnosticResultCommonProperties(analyzer);
            var analyzerSuppressionCommonExpected =
                new DiagnosticResultCommonProperties(analyzer.GetNamedItemSuppresionAttributeDetails()[0]);

            var expected1 =
                new DiagnosticResult(analyzerSuppressionCommonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlySuppresionMisuseMessageFormat,
                                            "y"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(11, 26, 29)));

            var expected2 =
                new DiagnosticResult(analyzerSuppressionCommonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlySuppresionMisuseMessageFormat,
                                            "z"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(11, 31, 34)));

            var expected3 =
                new DiagnosticResult(analyzerCommonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(16, 13, 18)));

            var expected4 =
                new DiagnosticResult(analyzerCommonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "b"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(17, 13, 19)));

            var expected5 =
                new DiagnosticResult(analyzerCommonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "x"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(21, 17, 24)));

            var expected6 =
                new DiagnosticResult(analyzerCommonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "b"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(23, 17, 31)));

            DiagnosticVerifier.VerifyDiagnostics <AA1301VariablesShouldBeAssignedOnceOnlyAnalyzer>(
                @"..\..\CodeUnderTest\CodeToTestVariableReassignment.cs",
                expected1,
                expected2,
                expected3,
                expected4,
                expected5,
                expected6);
        }
        public void TwoStaticMethodsWithNoParamsOneWithAttribute_YieldsOneDiagnostic()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA1001StaticMethodsShouldHaveAtLeastOneParameterAnalyzer());
            var expected =
                new DiagnosticResult(commonExpected,
                                     String.Format(Resources.AA1001StaticMethodsShouldHaveAtLeastOneParameterMessageFormat,
                                                   "ReturnTrue"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(8, 28, 38)));

            DiagnosticVerifier.VerifyDiagnostics <AA1001StaticMethodsShouldHaveAtLeastOneParameterAnalyzer>(
                TestFiles.CodeToTestAtLeastOneParameterAnalyzerRespectsAttributes,
                expected);
        }
Esempio n. 8
0
        public void BasicReassignmentsWithIncorrectlyIngoredParameters_YieldsDiagnostics()
        {
            var analyzer = new AA1300ParametersShouldNotBeModifiedAnalyzer();
            var analyzerCommonExpected            = new DiagnosticResultCommonProperties(analyzer);
            var analyzerSuppressionCommonExpected =
                new DiagnosticResultCommonProperties(analyzer.GetNamedItemSuppresionAttributeDetails()[0]);

            var expected1 =
                new DiagnosticResult(analyzerSuppressionCommonExpected,
                                     Format(Resources.AA1300ParametersShouldNotBeModifiedSuppresionMisuseMessageFormat,
                                            "y"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(10, 27, 30)));

            var expected2 =
                new DiagnosticResult(analyzerSuppressionCommonExpected,
                                     Format(Resources.AA1300ParametersShouldNotBeModifiedSuppresionMisuseMessageFormat,
                                            "z"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(10, 32, 35)));

            var expected3 =
                new DiagnosticResult(analyzerCommonExpected,
                                     Format(Resources.AA1300ParametersShouldNotBeModifiedMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(13, 13, 18)));

            var expected4 =
                new DiagnosticResult(analyzerCommonExpected,
                                     Format(Resources.AA1300ParametersShouldNotBeModifiedMessageFormat,
                                            "b"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(14, 13, 19)));

            var expected5 =
                new DiagnosticResult(analyzerCommonExpected,
                                     Format(Resources.AA1300ParametersShouldNotBeModifiedMessageFormat,
                                            "b"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(20, 17, 31)));

            DiagnosticVerifier.VerifyDiagnostics <AA1300ParametersShouldNotBeModifiedAnalyzer>(
                @"..\..\CodeUnderTest\CodeToTestParameterReassignment.cs",
                expected1,
                expected2,
                expected3,
                expected4,
                expected5);
        }
        public void CodeWithFourVoidMethodsTwoWithIgnoreRuleAttributes_YieldsTwoDiagnostic()
        {
            var commonExpected = new DiagnosticResultCommonProperties(new AA1000StaticMethodsShouldNotBeVoidAnalyzer());
            var expected1      =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1000StaticMethodsShouldNotBeVoidMessageFormat,
                                            "DoNothing1"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(8, 28, 38)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1000StaticMethodsShouldNotBeVoidMessageFormat,
                                            "DoNothing4"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(17, 28, 38)));

            DiagnosticVerifier.VerifyDiagnostics <AA1000StaticMethodsShouldNotBeVoidAnalyzer>(
                TestFiles.CodeToTestStaticVoidAnalyzerRespectsAttributes,
                expected1,
                expected2);
        }
        public void CodeWithTwoVoidMethods_YieldsTwoDiagnostics()
        {
            var commonExpected = new DiagnosticResultCommonProperties(new AA1000StaticMethodsShouldNotBeVoidAnalyzer());
            var expected1      =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1000StaticMethodsShouldNotBeVoidMessageFormat,
                                            "DoNothing"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(5, 28, 37)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1000StaticMethodsShouldNotBeVoidMessageFormat,
                                            "StillDoNothing"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(8, 28, 42)));

            DiagnosticVerifier.VerifyDiagnostics <AA1000StaticMethodsShouldNotBeVoidAnalyzer>(
                TestFiles.CodeToTestStaticVoidAnalyzer,
                expected1,
                expected2);
        }
Esempio n. 11
0
        public void InterfacePropertiesWithSetters_YieldsDiagnostics()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA1201AvoidUsingStaticPropertiesAnalyzer());

            var expected1 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1201AvoidUsingStaticPropertiesMessageFormat,
                                            "PropA1",
                                            "CodeToTestAvoidUsingStaticFieldsAndProperties"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(33, 27, 33)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1201AvoidUsingStaticPropertiesMessageFormat,
                                            "PropB1",
                                            "CodeToTestAvoidUsingStaticFieldsAndProperties"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(34, 29, 35)));

            var expected3 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1201AvoidUsingStaticPropertiesMessageFormat,
                                            "PropC1",
                                            "CodeToTestAvoidUsingStaticFieldsAndProperties"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(35, 28, 34)));

            var expected4 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1201AvoidUsingStaticPropertiesMessageFormat,
                                            "PropD1",
                                            "CodeToTestAvoidUsingStaticFieldsAndProperties"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(36, 30, 36)));

            DiagnosticVerifier.VerifyDiagnostics <AA1201AvoidUsingStaticPropertiesAnalyzer>(
                @"..\..\..\CodeUnderTest\CodeToTestAvoidUsingStaticFieldsAndProperties.cs",
                expected1,
                expected2,
                expected3,
                expected4);
        }
Esempio n. 12
0
        public void InterfacePropertiesWithSetters_YieldsDiagnostics()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA1200AvoidUsingStaticFieldsAnalyzer());

            var expected1 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1200AvoidUsingStaticFieldsMessageFormat,
                                            "A2",
                                            "CodeToTestAvoidUsingStaticFieldsAndProperties"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(8, 27, 29)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1200AvoidUsingStaticFieldsMessageFormat,
                                            "B2",
                                            "CodeToTestAvoidUsingStaticFieldsAndProperties"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(12, 28, 30)));

            var expected3 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1200AvoidUsingStaticFieldsMessageFormat,
                                            "C2",
                                            "CodeToTestAvoidUsingStaticFieldsAndProperties"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(16, 29, 31)));

            var expected4 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1200AvoidUsingStaticFieldsMessageFormat,
                                            "D2",
                                            "CodeToTestAvoidUsingStaticFieldsAndProperties"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(20, 30, 32)));

            DiagnosticVerifier.VerifyDiagnostics <AA1200AvoidUsingStaticFieldsAnalyzer>(
                @"..\..\CodeUnderTest\CodeToTestAvoidUsingStaticFieldsAndProperties.cs",
                expected1,
                expected2,
                expected3,
                expected4);
        }
        public void ClassPropertiesWithSetters_YieldsDiagnostics()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA1101ClassPropertiesShouldBePubliclyRead_OnlyAnalyzer());
            var expected1 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1101ClassPropertiesShouldBePubliclyReadOnlyMessageFormat,
                                            "Property2",
                                            "ContainsSetters"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(10, 38, 41)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1101ClassPropertiesShouldBePubliclyReadOnlyMessageFormat,
                                            "Property7",
                                            "ContainsSetters"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(20, 13, 16)));

            DiagnosticVerifier.VerifyDiagnostics <AA1101ClassPropertiesShouldBePubliclyRead_OnlyAnalyzer>(
                @"..\..\CodeUnderTest\CodeToTestClassPropertySetters.cs",
                expected1,
                expected2);
        }
        public void MethodsWithAnd_YieldsDiagnostics()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA2103MethodShouldNotContainAndAnalyzer());
            var expected1 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA2103MethodShouldNotContainAndMessageFormat, "DoSomethingAndSomethingElse"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(7, 28, 55)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA2103MethodShouldNotContainAndMessageFormat, "DoSomethingAndSomethingElse"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(14, 28, 55)));

            var expected3 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA2103MethodShouldNotContainAndMessageFormat, "AThingAndAnotherThing"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(16, 21, 42)));

            var expected4 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA2103MethodShouldNotContainAndMessageFormat, "AndAndAnd"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(20, 25, 34)));

            var expected5 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA2103MethodShouldNotContainAndMessageFormat, "AThingAndAnotherThing"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(27, 14, 35)));

            DiagnosticVerifier.VerifyDiagnostics <AA2103MethodShouldNotContainAndAnalyzer>(
                TestFiles.CodeToTestMethodsWithAnd,
                expected1,
                expected2,
                expected3,
                expected4,
                expected5);
        }
        public void MethodsWithRefOrOutParams_YieldsDiagnostics()
        {
            var commonExpected =
                new DiagnosticResultCommonProperties(new AA2100MethodParametersMustNotBeRefOrOutAnalyzer());

            var expected1 = new DiagnosticResult(commonExpected,
                                                 String.Format(Resources.AA2100MethodParametersMustNotBeRefOrOutMessageFormat,
                                                               "p",
                                                               "UsesRefParameter",
                                                               "ref"),
                                                 Option <DiagnosticLocation> .Some(new DiagnosticLocation(11, 45, 54)));

            var expected2 = new DiagnosticResult(commonExpected,
                                                 String.Format(Resources.AA2100MethodParametersMustNotBeRefOrOutMessageFormat,
                                                               "p",
                                                               "UsesOutParameter",
                                                               "out"),
                                                 Option <DiagnosticLocation> .Some(new DiagnosticLocation(17, 45, 54)));

            DiagnosticVerifier.VerifyDiagnostics <AA2100MethodParametersMustNotBeRefOrOutAnalyzer>(
                TestFiles.CodeToTestDetectingOutAndRefParameters,
                expected1,
                expected2);
        }
        public void NonSimpleIntReassignments_YieldsDiagnostics()
        {
            var analyzer       = new AA1301VariablesShouldBeAssignedOnceOnlyAnalyzer();
            var commonExpected = new DiagnosticResultCommonProperties(analyzer);

            var expected1 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(12, 13, 19)));

            var expected2 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(13, 13, 19)));

            var expected3 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(14, 13, 19)));

            var expected4 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(15, 13, 19)));

            var expected5 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(16, 13, 19)));

            var expected6 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(17, 13, 20)));

            var expected7 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(18, 13, 20)));

            var expected8 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(19, 13, 16)));

            var expected9 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(20, 13, 16)));

            var expected10 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(21, 13, 16)));

            var expected11 =
                new DiagnosticResult(commonExpected,
                                     Format(Resources.AA1301VariablesShouldBeAssignedOnceOnlyMessageFormat,
                                            "a"),
                                     Option <DiagnosticLocation> .Some(new DiagnosticLocation(22, 13, 16)));

            DiagnosticVerifier.VerifyDiagnostics <AA1301VariablesShouldBeAssignedOnceOnlyAnalyzer>(
                @"..\..\CodeUnderTest\CodeToTestNonSimpleIntVariableReassignments.cs",
                expected1,
                expected2,
                expected3,
                expected4,
                expected5,
                expected6,
                expected7,
                expected8,
                expected9,
                expected10,
                expected11);
        }