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(); }
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(); }
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(); }
static string GetItemKey(MockConflictItem item) { return(item.Key); }