public void ResolverUtility_CircularDependencyCheckIndirectWithOthers() { // Arrange var solution = new List <ResolverPackage>(); solution.Add(CreatePackage("z", "1.0.0", new NuGet.Packaging.Core.PackageDependency("y", VersionRange.Parse("[1.0.0]")))); solution.Add(CreatePackage("y", "1.0.0", new NuGet.Packaging.Core.PackageDependency("c", VersionRange.Parse("[1.0.0]")))); solution.Add(CreatePackage("c", "1.0.0", new NuGet.Packaging.Core.PackageDependency("d", VersionRange.Parse("[1.0.0]")))); solution.Add(CreatePackage("d", "2.0.0", new NuGet.Packaging.Core.PackageDependency("z", VersionRange.Parse("[1.0.0]")))); solution.Add(CreateAbsentPackage("a")); solution.Add(CreatePackage("x", "1.0.0", new NuGet.Packaging.Core.PackageDependency("z", VersionRange.Parse("[1.0.0]")))); solution.Add(CreatePackage("t", "1.0.0", new NuGet.Packaging.Core.PackageDependency("a", VersionRange.Parse("[1.0.0]")))); // Act var result = ResolverUtility.FindCircularDependency(solution); // Assert var message = String.Join(" => ", result); Assert.Equal("c 1.0.0 => d 2.0.0 => z 1.0.0 => y 1.0.0 => c 1.0.0", message); }
public void ResolverUtility_CircularDependencyCheckBasic() { // Arrange var solution = new List <ResolverPackage>(); solution.Add(CreatePackage("a", "1.0.0", new NuGet.Packaging.Core.PackageDependency("b", VersionRange.Parse("[1.0.0]")))); solution.Add(CreatePackage("b", "1.0.0", new NuGet.Packaging.Core.PackageDependency("a", VersionRange.Parse("[1.0.0]")))); // Act var result = ResolverUtility.FindCircularDependency(solution); // Assert Assert.Equal("a 1.0.0 => b 1.0.0 => a 1.0.0", String.Join(" => ", result)); }
public void ResolverUtility_CircularDependencyCheckAbsentPackages() { // Arrange var solution = new List <ResolverPackage>(); solution.Add(CreatePackage("z", "1.0.0", new NuGet.Packaging.Core.PackageDependency("a", VersionRange.Parse("[1.0.0]")), new NuGet.Packaging.Core.PackageDependency("b", VersionRange.Parse("[1.0.0]")))); solution.Add(CreateAbsentPackage("a")); solution.Add(CreateAbsentPackage("b")); solution.Add(CreateAbsentPackage("y")); // Act var result = ResolverUtility.FindCircularDependency(solution); // Assert Assert.False(result.Any()); }