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); }
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); }
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); }
public void GetMatchingAssembliesReturnsEmptyDictionaryIfAssemblyReferencesCollectionIsEmpty() { // Arrange var assemblyReferences = new Dictionary <string, IEnumerable <string> >(); // Act var referencedAssemblies = AssemblyUtils.GetAssembliesMatchingOtherVersions(assemblyReferences); // Assert Assert.Empty(referencedAssemblies); }