コード例 #1
0
        public void BreakingChangeIgnoreSelection()
        {
            var catalog         = Substitute.For <IApiCatalogLookup>();
            var recommendations = GenerateTestRecommendationsWithFixedEntry();
            var testData        = GenerateTestData(catalog);
            var engine          = new AnalysisEngine(catalog, recommendations);

            var framework  = new FrameworkName(".NET Framework, Version = v4.5.1");
            var framework2 = new FrameworkName(".NET Framework, Version = v4.5.2");

            // Vanilla
            var result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new[] { ".NET Framework,Version=v4.5.1" }));

            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm1, Version=1.0.0.0", result.FirstOrDefault().AssemblyIdentity);

            // Empty ignore targets
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new string[0]));
            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm1, Version=1.0.0.0", result.FirstOrDefault().AssemblyIdentity);

            // Empty ignore targets with multiple targets
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework, framework2 }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new string[0]));
            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm1, Version=1.0.0.0", result.FirstOrDefault().AssemblyIdentity);

            // Ignore a different target
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new[] { ".NET Framework,Version=v4.5.2" }));
            Assert.Equal(0, result.Count());

            // Ignore some but not all targets
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework, framework2 }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new[] { ".NET Framework,Version=v4.5.1" }));
            Assert.Equal(0, result.Count());

            // Ignore all targets
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework, framework2 }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new[] { ".NET Framework,Version=v4.5.1", ".NET Framework,Version=v4.5.2" }));
            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm1, Version=1.0.0.0", result.FirstOrDefault().AssemblyIdentity);

            // Ignore different assembly
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(true, new string[0]));
            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm2, Version=2.0.0.0", result.FirstOrDefault().AssemblyIdentity);
        }
コード例 #2
0
        public void BreakingChangeIgnoreSelection()
        {
            var catalog = Substitute.For<IApiCatalogLookup>();
            var recommendations = GenerateTestRecommendationsWithFixedEntry();
            var testData = GenerateTestData(catalog);
            var engine = new AnalysisEngine(catalog, recommendations);

            var framework = new FrameworkName(".NET Framework, Version = v4.5.1");
            var framework2 = new FrameworkName(".NET Framework, Version = v4.5.2");

            // Vanilla
            var result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new[] { ".NET Framework,Version=v4.5.1" }));
            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm1, Version=1.0.0.0", result.FirstOrDefault().AssemblyIdentity);

            // Empty ignore targets
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new string[0]));
            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm1, Version=1.0.0.0", result.FirstOrDefault().AssemblyIdentity);

            // Empty ignore targets with multiple targets
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework, framework2 }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new string[0]));
            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm1, Version=1.0.0.0", result.FirstOrDefault().AssemblyIdentity);

            // Ignore a different target
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new[] { ".NET Framework,Version=v4.5.2" }));
            Assert.Equal(0, result.Count());

            // Ignore some but not all targets
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework, framework2 }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new[] { ".NET Framework,Version=v4.5.1" }));
            Assert.Equal(0, result.Count());

            // Ignore all targets
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework, framework2 }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(false, new[] { ".NET Framework,Version=v4.5.1", ".NET Framework,Version=v4.5.2" }));
            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm1, Version=1.0.0.0", result.FirstOrDefault().AssemblyIdentity);

            // Ignore different assembly
            result = engine.FindBreakingChangeSkippedAssemblies(new[] { framework }, testData.SelectMany(kvp => kvp.Value).Distinct(), GenerateIgnoreAssemblies(true, new string[0]));
            Assert.Equal(1, result.Count());
            Assert.Equal("userAsm2, Version=2.0.0.0", result.FirstOrDefault().AssemblyIdentity);
        }