Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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());
        }