public void SimpleVersionIntersectionTest() { var pkg = new Package("Self.Library", new Version(2, 0, 0, 501)); pkg.Dependencies.Add(new PackageDependency("Company.Logging", "3.0")); pkg.Dependencies.Add(new PackageDependency("log4net", "1.2.8")); var dr = new DependencyResolution(pkg, new[] { _repo }); var result = dr.Resolve(); VersionResolutionTable table = result.Item1; IEnumerable <PackageKey> packages = table.GetPackages(); Assert.IsFalse(table.HasConflicts); Assert.AreEqual(2, packages.Count()); Assert.AreEqual(new Version(3, 0, 0, 4863), packages.ElementAt(0).Version); //Assert.AreEqual(new Version(2, 0, 0, 501), packages.ElementAt(0).Version); Assert.AreEqual(new Version(1, 2, 8, 0), packages.ElementAt(1).Version); }
public void TrivialTreeTest() { Package pkg = new Package("Self.Library", new Version(1, 3, 0, 500)); pkg.Dependencies.Add(new PackageDependency("Company.Logging", "3.0")); pkg.Dependencies.Add(new PackageDependency("log4net", "1.2.10")); DependencyResolution dr = new DependencyResolution(pkg, new[] { _repo }); DependencyNode result = dr.Resolve().Item2; Assert.AreEqual(2, result.Children.Count()); DependencyNode node1 = result.Children.ElementAt(0); DependencyNode node2 = result.Children.ElementAt(1); Assert.AreEqual(new Version(3, 0, 0, 4863), node1.ActiveVersion); Assert.AreEqual(new Version(1, 2, 10, 0), node2.ActiveVersion); Assert.AreEqual(1, node1.Children.Count()); Assert.AreEqual(new Version(1, 2, 10, 0), node1.Children.First().ActiveVersion); }
public void TrivialTest() { Package pkg = new Package("Self.Library", new Version(1, 2, 0, 0)); pkg.Dependencies.Add(new PackageDependency("log4net", "1.2")); DependencyResolution dr = new DependencyResolution(pkg, new[] { _repo }); DependencyNode node = dr.Resolve().Item2; Assert.IsNotNull(node); Assert.IsTrue(node.HasVersions); Assert.IsTrue(node.HasManifest); Assert.AreEqual(1, node.Children.Count()); DependencyNode log4net = node.Children.FirstOrDefault(); Assert.IsNotNull(log4net); Assert.IsTrue(log4net.HasVersions); Assert.IsTrue(log4net.HasManifest); }
public void SimpleConflictTest() { var pkg = new Package("Self.Library", new Version(2, 0, 0, 501)); pkg.Dependencies.Add(new PackageDependency("Company.Logging", "3.0")); pkg.Dependencies.Add(new PackageDependency("log4net", "1.1")); var dr = new DependencyResolution(pkg, new[] { _repo }); var result = dr.Resolve(); VersionResolutionTable table = result.Item1; Assert.IsTrue(table.HasConflicts); Assert.AreEqual(1, table.ConflictCount); var resolved = table.GetPackages(); var unresolved = table.GetConflictedPackages(); Assert.AreEqual(1, resolved.Count()); Assert.AreEqual(1, unresolved.Count()); string cd = dr.DescribeConflict(result.Item2, unresolved.First()); }