public void ProjectPackageDependenciesTest()
        {
            string csprojFile = "Microsoft.Azure.Cosmos.csproj";
            Dictionary <string, Version> projectDependencies  = DirectContractTests.GetPackageReferencies(csprojFile);
            Dictionary <string, Version> baselineDependencies = new Dictionary <string, Version>()
            {
                { "System.Collections.Immutable", new Version(1, 7, 0) },
                { "System.Numerics.Vectors", new Version(4, 5, 0) },
                { "Newtonsoft.Json", new Version(10, 0, 2) },
                { "Microsoft.Bcl.AsyncInterfaces", new Version(1, 0, 0) },
                { "System.Configuration.ConfigurationManager", new Version(4, 5, 0) },
                { "System.Memory", new Version(4, 5, 3) },
                { "System.Buffers", new Version(4, 5, 1) },
                { "System.Runtime.CompilerServices.Unsafe", new Version(4, 5, 2) },
                { "System.Threading.Tasks.Extensions", new Version(4, 5, 2) },
                { "System.ValueTuple", new Version(4, 5, 0) },
                { "Antlr4.Runtime.Standard", new Version(4, 8, 0) },
                { "Microsoft.Bcl.HashCode", new Version(1, 1, 0) },
            };

            Assert.AreEqual(projectDependencies.Count, baselineDependencies.Count);
            foreach (KeyValuePair <string, Version> projectDependency in projectDependencies)
            {
                Version baselineVersion = baselineDependencies[projectDependency.Key];
                Assert.AreEqual(baselineVersion, projectDependency.Value);
            }
        }
        public void ProjectPackageDependenciesTest()
        {
            string csprojFile = "Microsoft.Azure.Cosmos.csproj";
            Dictionary <string, string> projDependencies     = DirectContractTests.GetPackageReferencies(csprojFile);
            Dictionary <string, string> baselineDependencies = JsonConvert.DeserializeObject <Dictionary <string, string> >(
                "{\"System.Numerics.Vectors\":\"4.5.0\",\"Newtonsoft.Json\":\"10.0.2\",\"System.Configuration.ConfigurationManager\":\"4.5.0\",\"System.Memory\":\"4.5.1\",\"System.Runtime.CompilerServices.Unsafe\":\"4.5.1\",\"System.Threading.Tasks.Extensions\":\"4.5.1\",\"System.ValueTuple\":\"4.5.0\"}");

            Assert.AreEqual(projDependencies.Count, baselineDependencies.Count);
            foreach (KeyValuePair <string, string> projectDependency in projDependencies)
            {
                string baselineVersion = baselineDependencies[projectDependency.Key];
                Assert.AreEqual(baselineVersion, projectDependency.Value);
            }
        }
Beispiel #3
0
        public void PackageDependenciesTest()
        {
            string csprojFile = "Microsoft.Azure.Cosmos.csproj";
            Dictionary <string, Version> projDependencies = DirectContractTests.GetPackageReferencies(csprojFile);

            string[] files = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.nuspec");
            Dictionary <string, Version> allDependencies = new Dictionary <string, Version>();

            foreach (string nuspecFile in files)
            {
                Dictionary <string, Version> nuspecDependencies = DirectContractTests.GetNuspecDependencies(nuspecFile);
                foreach (KeyValuePair <string, Version> e in nuspecDependencies)
                {
                    if (nuspecFile.Contains("hybridrow") && e.Key.Contains("CompilerServices.Unsafe"))
                    {
                        continue;
                    }

                    if (!allDependencies.ContainsKey(e.Key))
                    {
                        allDependencies[e.Key] = e.Value;
                    }
                    else
                    {
                        Version existingValue = allDependencies[e.Key];
                        if (existingValue.CompareTo(e.Value) > 0)
                        {
                            allDependencies[e.Key] = e.Value;
                        }
                    }
                }
            }

            // Dependency version should match
            foreach (KeyValuePair <string, Version> e in allDependencies)
            {
                Assert.AreEqual(e.Value, projDependencies[e.Key], e.Key);
            }

            CollectionAssert.IsSubsetOf(allDependencies.Keys, projDependencies.Keys);
        }