Esempio n. 1
0
            public void Should_Read_Both_Warnings_And_Errors()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithBothWarningAndErrors.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(2);
                IssueChecker.Check(
                    issues[0],
                    IssueBuilder.NewIssue(
                        @"Microsoft.Usage : 'ConfigurationManager.GetSortedConfigFiles(String)' creates an exception of type 'ApplicationException', an exception type that is not sufficiently specific and should never be raised by user code. If this exception instance might be thrown, use a different exception type.",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProjectOfName(string.Empty)
                    .InFile(@"src\Cake.Issues.MsBuild.Tests\MsBuildIssuesProviderTests.cs", 1311)
                    .OfRule("CA2201", new Uri("https://www.google.com/search?q=\"CA2201:\"+site:docs.microsoft.com"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[1],
                    IssueBuilder.NewIssue(
                        @"'ConfigurationManager.GetSortedConfigFiles(String)': not all code paths return a value",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProjectOfName(string.Empty)
                    .InFile(@"src\Cake.Issues.MsBuild.Tests\MsBuildIssuesProviderTests.cs", 1311)
                    .OfRule("CS0161", null)
                    .WithPriority(IssuePriority.Error));
            }
Esempio n. 2
0
            public void Should_Read_Issue_With_Absolute_FileName_And_Without_Task()
            {
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithAbsoluteFileNameAndWithoutTask.xml");

                var repoRootCreated = !Directory.Exists(fixture.ReadIssuesSettings.RepositoryRoot.FullPath);

                Directory.CreateDirectory(fixture.ReadIssuesSettings.RepositoryRoot.FullPath);
                try
                {
                    var oldWorkingDirectory = Directory.GetCurrentDirectory();
                    try
                    {
                        Directory.SetCurrentDirectory(fixture.ReadIssuesSettings.RepositoryRoot.FullPath);

                        // When
                        var issues = fixture.ReadIssues().ToList();

                        // Then
                        issues.Count.ShouldBe(1);
                    }
                    finally
                    {
                        Directory.SetCurrentDirectory(oldWorkingDirectory);
                    }
                }
                finally
                {
                    if (repoRootCreated)
                    {
                        Directory.Delete(fixture.ReadIssuesSettings.RepositoryRoot.FullPath);
                    }
                }
            }
Esempio n. 3
0
            public void Should_Ignore_Issue_Without_Message()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithoutMessage.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(0);
            }
Esempio n. 4
0
            public void Should_Filter_Control_Chars_From_Log_Content()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("LogWithControlChars.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(0);
            }
Esempio n. 5
0
            public void Should_Read_Issue_Without_File_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithoutFile.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                IssueChecker.Check(
                    issues.Single(),
                    IssueBuilder.NewIssue(
                        "Microsoft.Naming : Rename type name 'UniqueQueue(Of T)' so that it does not end in 'Queue'.",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProjectOfName(string.Empty)
                    .OfRule("CA1711", new Uri("https://www.google.com/search?q=\"CA1711:\"+site:docs.microsoft.com"))
                    .WithPriority(IssuePriority.Warning));
            }
Esempio n. 6
0
            public void Should_Read_Issue_Without_Code_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithoutCode.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                IssueChecker.Check(
                    issues.Single(),
                    IssueBuilder.NewIssue(
                        "SA1300 : CSharp.Naming : namespace names begin with an upper-case letter: foo.",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProjectOfName(string.Empty)
                    .InFile(@"src\Cake.Issues.MsBuild.Tests\MsBuildIssuesProviderTests.cs", 21, 1)
                    .WithPriority(IssuePriority.Warning));
            }
Esempio n. 7
0
            public void Should_Read_Errors()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithError.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                IssueChecker.Check(
                    issues[0],
                    IssueBuilder.NewIssue(
                        @"'ConfigurationManager.GetSortedConfigFiles(String)': not all code paths return a value",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProjectOfName(string.Empty)
                    .InFile(@"src\Cake.Issues.MsBuild.Tests\MsBuildIssuesProviderTests.cs", 1311)
                    .OfRule("CS0161", null)
                    .WithPriority(IssuePriority.Error));
            }
Esempio n. 8
0
            public void Should_Read_Issue_With_File_Without_Path_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithOnlyFileName.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                IssueChecker.Check(
                    issues.Single(),
                    IssueBuilder.NewIssue(
                        "The variable 'foo' is assigned but its value is never used",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProjectOfName(string.Empty)
                    .InFile(@"src\Cake.Issues.MsBuild.Tests\MsBuildIssuesProviderTests.cs", 13, 17)
                    .OfRule("CS0219")
                    .WithPriority(IssuePriority.Warning));
            }
Esempio n. 9
0
            public void Should_Read_Issue_With_Line_Zero_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithLineZero.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                IssueChecker.Check(
                    issues.Single(),
                    IssueBuilder.NewIssue(
                        @"Unable to locate any documentation sources for 'c:\Source\Cake.Prca\Cake.Prca..csproj' (Configuration: Debug Platform: AnyCPU)",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject("Cake.Prca.shfbproj", "Cake.Prca")
                    .InFile("SHFB")
                    .OfRule("BE0006")
                    .WithPriority(IssuePriority.Warning));
            }
            public void Should_Read_Issue_Without_Code_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithoutCode.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                var issue = issues.Single();

                CheckIssue(
                    issue,
                    null,
                    string.Empty,
                    @"src\Cake.Issues.MsBuild.Tests\MsBuildIssuesProviderTests.cs",
                    21,
                    null,
                    300,
                    "Warning",
                    @"SA1300 : CSharp.Naming : namespace names begin with an upper-case letter: foo.");
            }
            public void Should_Read_Issue_Without_File_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithoutFile.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                var issue = issues.Single();

                CheckIssue(
                    issue,
                    null,
                    string.Empty,
                    null,
                    null,
                    "CA1711",
                    300,
                    "Warning",
                    "Microsoft.Naming : Rename type name 'UniqueQueue(Of T)' so that it does not end in 'Queue'.");
            }
            public void Should_Read_Issue_With_Line_Zero_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithLineZero.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                var issue = issues.Single();

                CheckIssue(
                    issue,
                    @"Cake.Prca.shfbproj",
                    "Cake.Prca",
                    @"SHFB",
                    null,
                    "BE0006",
                    300,
                    "Warning",
                    @"Unable to locate any documentation sources for 'c:\Source\Cake.Prca\Cake.Prca..csproj' (Configuration: Debug Platform: AnyCPU)");
            }
            public void Should_Read_Issue_With_File_Without_Path_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithOnlyFileName.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                var issue = issues.Single();

                CheckIssue(
                    issue,
                    null,
                    string.Empty,
                    @"src\Cake.Issues.MsBuild.Tests\MsBuildIssuesProviderTests.cs",
                    13,
                    "CS0219",
                    300,
                    "Warning",
                    "The variable 'foo' is assigned but its value is never used");
            }
            public void Should_Read_Issue_With_File_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <XmlFileLoggerLogFileFormat>("IssueWithFile.xml");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(1);
                var issue = issues.Single();

                CheckIssue(
                    issue,
                    null,
                    string.Empty,
                    @"src\Cake.Issues.MsBuild.Tests\MsBuildIssuesProviderTests.cs",
                    1311,
                    "CA2201",
                    300,
                    "Warning",
                    @"Microsoft.Usage : 'ConfigurationManager.GetSortedConfigFiles(String)' creates an exception of type 'ApplicationException', an exception type that is not sufficiently specific and should never be raised by user code. If this exception instance might be thrown, use a different exception type.");
            }
Esempio n. 15
0
            public void Should_Read_Full_Log_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <BinaryLogFileFormat>("FullLog.binlog");

                fixture.RepositorySettings = new RepositorySettings(@"c:\Git\Test\Cake.Prca\");

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(19);
                CheckIssue(
                    issues[0],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    13,
                    "CS0219",
                    300,
                    "Warning",
                    @"The variable 'foo' is assigned but its value is never used");
                CheckIssue(
                    issues[1],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    1,
                    "SA1652",
                    300,
                    "Warning",
                    @"Enable XML documentation output");
                CheckIssue(
                    issues[2],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    1,
                    "SA1200",
                    300,
                    "Warning",
                    @"Using directive must appear within a namespace declaration");
                CheckIssue(
                    issues[3],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    2,
                    "SA1200",
                    300,
                    "Warning",
                    @"Using directive must appear within a namespace declaration");
                CheckIssue(
                    issues[4],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    3,
                    "SA1200",
                    300,
                    "Warning",
                    @"Using directive must appear within a namespace declaration");
                CheckIssue(
                    issues[5],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    4,
                    "SA1200",
                    300,
                    "Warning",
                    @"Using directive must appear within a namespace declaration");
                CheckIssue(
                    issues[6],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    5,
                    "SA1200",
                    300,
                    "Warning",
                    @"Using directive must appear within a namespace declaration");
                CheckIssue(
                    issues[7],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    1,
                    "SA1633",
                    300,
                    "Warning",
                    @"The file header is missing or not located at the top of the file.");
                CheckIssue(
                    issues[8],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Properties\AssemblyInfo.cs",
                    1,
                    "SA1652",
                    300,
                    "Warning",
                    @"Enable XML documentation output");
                CheckIssue(
                    issues[9],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Properties\AssemblyInfo.cs",
                    1,
                    "SA1633",
                    300,
                    "Warning",
                    @"The file header is missing or not located at the top of the file.");
                CheckIssue(
                    issues[10],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Properties\AssemblyInfo.cs",
                    5,
                    "SA1028",
                    300,
                    "Warning",
                    @"Code must not contain trailing whitespace");
                CheckIssue(
                    issues[11],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Properties\AssemblyInfo.cs",
                    17,
                    "SA1028",
                    300,
                    "Warning",
                    @"Code must not contain trailing whitespace");
                CheckIssue(
                    issues[12],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Properties\AssemblyInfo.cs",
                    18,
                    "SA1028",
                    300,
                    "Warning",
                    @"Code must not contain trailing whitespace");
                CheckIssue(
                    issues[13],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Properties\AssemblyInfo.cs",
                    28,
                    "SA1028",
                    300,
                    "Warning",
                    @"Code must not contain trailing whitespace");
                CheckIssue(
                    issues[14],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Properties\AssemblyInfo.cs",
                    32,
                    "SA1028",
                    300,
                    "Warning",
                    @"Code must not contain trailing whitespace");
                CheckIssue(
                    issues[15],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    null,
                    null,
                    "CA2210",
                    300,
                    "Warning",
                    @"Microsoft.Design : Sign 'ClassLibrary1.dll' with a strong name key.");
                CheckIssue(
                    issues[16],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    null,
                    null,
                    "CA1014",
                    300,
                    "Warning",
                    @"Microsoft.Design : Mark 'ClassLibrary1.dll' with CLSCompliant(true) because it exposes externally visible types.");
                CheckIssue(
                    issues[17],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    12,
                    "CA1822",
                    300,
                    "Warning",
                    @"Microsoft.Performance : The 'this' parameter (or 'Me' in Visual Basic) of 'Class1.Foo()' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.");
                CheckIssue(
                    issues[18],
                    @"src\ClassLibrary1\ClassLibrary1.csproj",
                    "ClassLibrary1",
                    @"src\ClassLibrary1\Class1.cs",
                    13,
                    "CA1804",
                    300,
                    "Warning",
                    @"Microsoft.Performance : 'Class1.Foo()' declares a variable, 'foo', of type 'string', which is never used or is only assigned to. Use this variable or remove it.");
            }
            public void Should_Read_Full_Log_Correct()
            {
                // Given
                var fixture = new MsBuildIssuesProviderFixture <BinaryLogFileFormat>("FullLog.binlog")
                {
                    ReadIssuesSettings = new ReadIssuesSettings(@"C:\projects\cake-issues-demo\"),
                };

                // When
                var issues = fixture.ReadIssues().ToList();

                // Then
                issues.Count.ShouldBe(19);
                IssueChecker.Check(
                    issues[0],
                    IssueBuilder.NewIssue(
                        "The variable 'foo' is assigned but its value is never used",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 13, 17)
                    .OfRule("CS0219")
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[1],
                    IssueBuilder.NewIssue(
                        "Enable XML documentation output",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 1, 1)
                    .OfRule("SA1652", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1652.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[2],
                    IssueBuilder.NewIssue(
                        "The file header is missing or not located at the top of the file.",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 1, 1)
                    .OfRule("SA1633", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1633.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[3],
                    IssueBuilder.NewIssue(
                        "Enable XML documentation output",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Properties\AssemblyInfo.cs", 1, 1)
                    .OfRule("SA1652", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1652.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[4],
                    IssueBuilder.NewIssue(
                        "The file header is missing or not located at the top of the file.",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Properties\AssemblyInfo.cs", 1, 1)
                    .OfRule("SA1633", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1633.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[5],
                    IssueBuilder.NewIssue(
                        "Code must not contain trailing whitespace",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Properties\AssemblyInfo.cs", 5, 77)
                    .OfRule("SA1028", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1028.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[6],
                    IssueBuilder.NewIssue(
                        "Code must not contain trailing whitespace",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Properties\AssemblyInfo.cs", 17, 76)
                    .OfRule("SA1028", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1028.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[7],
                    IssueBuilder.NewIssue(
                        "Code must not contain trailing whitespace",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Properties\AssemblyInfo.cs", 18, 74)
                    .OfRule("SA1028", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1028.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[8],
                    IssueBuilder.NewIssue(
                        "Code must not contain trailing whitespace",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Properties\AssemblyInfo.cs", 28, 22)
                    .OfRule("SA1028", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1028.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[9],
                    IssueBuilder.NewIssue(
                        "Code must not contain trailing whitespace",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Properties\AssemblyInfo.cs", 32, 84)
                    .OfRule("SA1028", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1028.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[10],
                    IssueBuilder.NewIssue(
                        "Using directive must appear within a namespace declaration",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 1, 1)
                    .OfRule("SA1200", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[11],
                    IssueBuilder.NewIssue(
                        "Using directive must appear within a namespace declaration",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 2, 1)
                    .OfRule("SA1200", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[12],
                    IssueBuilder.NewIssue(
                        "Using directive must appear within a namespace declaration",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 3, 1)
                    .OfRule("SA1200", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[13],
                    IssueBuilder.NewIssue(
                        "Using directive must appear within a namespace declaration",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 4, 1)
                    .OfRule("SA1200", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[14],
                    IssueBuilder.NewIssue(
                        "Using directive must appear within a namespace declaration",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 5, 1)
                    .OfRule("SA1200", new Uri("https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[15],
                    IssueBuilder.NewIssue(
                        "Microsoft.Design : Sign 'ClassLibrary1.dll' with a strong name key.",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .OfRule("CA2210", new Uri("https://www.google.com/search?q=\"CA2210:\"+site:docs.microsoft.com"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[16],
                    IssueBuilder.NewIssue(
                        "Microsoft.Design : Mark 'ClassLibrary1.dll' with CLSCompliant(true) because it exposes externally visible types.",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .OfRule("CA1014", new Uri("https://www.google.com/search?q=\"CA1014:\"+site:docs.microsoft.com"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[17],
                    IssueBuilder.NewIssue(
                        "Microsoft.Performance : The 'this' parameter (or 'Me' in Visual Basic) of 'Class1.Foo()' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 12)
                    .OfRule("CA1822", new Uri("https://www.google.com/search?q=\"CA1822:\"+site:docs.microsoft.com"))
                    .WithPriority(IssuePriority.Warning));
                IssueChecker.Check(
                    issues[18],
                    IssueBuilder.NewIssue(
                        "Microsoft.Performance : 'Class1.Foo()' declares a variable, 'foo', of type 'string', which is never used or is only assigned to. Use this variable or remove it.",
                        "Cake.Issues.MsBuild.MsBuildIssuesProvider",
                        "MSBuild")
                    .InProject(@"src\ClassLibrary1\ClassLibrary1.csproj", "ClassLibrary1")
                    .InFile(@"src\ClassLibrary1\Class1.cs", 13)
                    .OfRule("CA1804", new Uri("https://www.google.com/search?q=\"CA1804:\"+site:docs.microsoft.com"))
                    .WithPriority(IssuePriority.Warning));
            }