Esempio n. 1
0
        public void GetMatchingAssembliesReturnsReferencingAssemblyAndWebPagesVersionForMatchingReferences()
        {
            // Arrange
            var assemblyReferences = new Dictionary <string, IEnumerable <string> >
            {
                {
                    @"x:\site\bin\A.dll",
                    new[] { "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" }
                },
                {
                    @"x:\site\bin\B.dll",
                    new[]
                    {
                        "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null",
                        AssemblyNameFor("System.Web.WebPages", "1.0.0.0"),
                        AssemblyNameFor("System.Web.Helpers", "1.0.0.0"),
                    }
                },
            };

            // Act
            var referencedAssemblies = AssemblyUtils.GetAssembliesMatchingOtherVersions(
                assemblyReferences
                );

            // Assert
            Assert.Equal(1, referencedAssemblies.Count);
            Assert.Equal(@"x:\site\bin\B.dll", referencedAssemblies.Single().Key);
            Assert.Equal(new Version("1.0.0.0"), referencedAssemblies.Single().Value);
        }
Esempio n. 2
0
        public void GetMatchingAssembliesFiltersWebPagesVersionsThatMatch()
        {
            // Arrange
            var assemblyReferences = new Dictionary <string, IEnumerable <string> >
            {
                { @"x:\site\bin\A.dll", new[] { "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" } },
                { @"x:\site\bin\B.dll", new[]
                  {
                      "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null",
                      String.Format(CultureInfo.InvariantCulture, "System.Web.WebPages, Version={0}, Culture=neutral, PublicKeyToken=2f9147bba06de483", AssemblyUtils.ThisAssemblyName.Version),
                      String.Format(CultureInfo.InvariantCulture, "System.Web.Helpers, Version={0}, Culture=neutral, PublicKeyToken=2f9147bba06de483", AssemblyUtils.ThisAssemblyName.Version)
                  } },
                { @"x:\site\bin\C.dll", new[]
                  {
                      "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null",
                      "System.Web.WebPages.Razor, Version=1.2.0.0, Culture=neutral, PublicKeyToken=2f9147bba06de483",
                      "System.Web.WebPages.Razor, Version=1.3.0.0, Culture=neutral, PublicKeyToken=2f9147bba06de483",
                  } },
            };

            // Act
            var referencedAssemblies = AssemblyUtils.GetAssembliesMatchingOtherVersions(assemblyReferences);

            // Assert
            Assert.Equal(1, referencedAssemblies.Count);
            Assert.Equal(@"x:\site\bin\C.dll", referencedAssemblies.Single().Key);
            Assert.Equal(new Version("1.2.0.0"), referencedAssemblies.Single().Value);
        }
Esempio n. 3
0
        public void GetMatchingAssembliesReturnsEmptyDictionaryIfNoReferencesMatchWebPagesAssemblies()
        {
            // Arrange
            var assemblyReferences = new Dictionary <string, IEnumerable <string> >
            {
                {
                    @"x:\site\bin\A.dll",
                    new List <string>
                    {
                        "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null"
                    }
                },
                {
                    @"x:\site\bin\B.dll",
                    new List <string>
                    {
                        "System.Web.Mvc, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                    }
                },
            };

            // Act
            var referencedAssemblies = AssemblyUtils.GetAssembliesMatchingOtherVersions(
                assemblyReferences
                );

            // Assert
            Assert.Empty(referencedAssemblies);
        }
Esempio n. 4
0
        public void GetMatchingAssembliesReturnsEmptyDictionaryIfAssemblyReferencesCollectionIsEmpty()
        {
            // Arrange
            var assemblyReferences = new Dictionary <string, IEnumerable <string> >();

            // Act
            var referencedAssemblies = AssemblyUtils.GetAssembliesMatchingOtherVersions(assemblyReferences);

            // Assert
            Assert.Empty(referencedAssemblies);
        }