コード例 #1
0
        public void WhenItemsConflictTheFileVersionIsUsedToResolveTheConflict()
        {
            var item1 = new MockConflictItem()
            {
                FileVersion = new Version("2.0.0.0")
            };
            var item2 = new MockConflictItem()
            {
                FileVersion = new Version("1.0.0.0")
            };
            var item3 = new MockConflictItem()
            {
                FileVersion = new Version("3.0.0.0")
            };

            var result = GetConflicts(item1, item2, item3);

            result.Conflicts.Should().Equal(item2, item1);
            result.UnresolvedConflicts.Should().BeEmpty();
        }
コード例 #2
0
        public void WhenItemsConflictAndFileVersionsMatchThePackageRankIsUsedToResolveTheConflict()
        {
            var item1 = new MockConflictItem()
            {
                PackageId = "Package2"
            };
            var item2 = new MockConflictItem()
            {
                PackageId = "Package3"
            };
            var item3 = new MockConflictItem()
            {
                PackageId = "Package1"
            };

            var result = GetConflicts(item1, item2, item3);

            result.Conflicts.Should().Equal(item2, item1);
            result.UnresolvedConflicts.Should().BeEmpty();
        }
コード例 #3
0
        public void WhenPackageOverridesAreSpecifiedTheyAreUsed()
        {
            var systemItem1 = new MockConflictItem("System.Ben")
            {
                PackageId = "System.Ben", PackageVersion = new Version("4.3.0")
            };
            var systemItem2 = new MockConflictItem("System.Immo")
            {
                PackageId = "System.Immo", PackageVersion = new Version("4.2.0")
            };
            var systemItem3 = new MockConflictItem("System.Dave")
            {
                PackageId = "System.Dave", PackageVersion = new Version("4.1.0")
            };

            var platformItem1 = new MockConflictItem("System.Ben")
            {
                PackageId = "Platform", PackageVersion = new Version("2.0.0")
            };
            var platformItem2 = new MockConflictItem("System.Immo")
            {
                PackageId = "Platform", PackageVersion = new Version("2.0.0")
            };
            var platformItem3 = new MockConflictItem("System.Dave")
            {
                PackageId = "Platform", PackageVersion = new Version("2.0.0")
            };

            var result = GetConflicts(
                new[] { systemItem1, systemItem2, systemItem3, platformItem1, platformItem2, platformItem3 },
                Array.Empty <MockConflictItem>(),
                new[] {
                new MockTaskItem("Platform", new Dictionary <string, string>
                {
                    { MetadataKeys.OverriddenPackages, "System.Ben|4.3.0;System.Immo|4.3.0;System.Dave|4.3.0" },
                })
            });

            result.Conflicts.Should().Equal(systemItem1, systemItem2, systemItem3);
            result.UnresolvedConflicts.Should().BeEmpty();
        }
コード例 #4
0
 static string GetItemKey(MockConflictItem item)
 {
     return(item.Key);
 }