public void CreateRuntimeInfoModel_GetsTheVersionAndAllPackages() { // Arrage var libraries = new ILibraryInformation[] { new FakeLibraryInformation() { Name = "LibInfo1", Path = "Path1" }, new FakeLibraryInformation() { Name = "LibInfo2", Path = "Path2" }, }; var libraryManagerMock = new Mock <ILibraryManager>(MockBehavior.Strict); libraryManagerMock.Setup(l => l.GetLibraries()).Returns(libraries); RequestDelegate next = _ => { return(Task.FromResult <object>(null)); }; var middleware = new RuntimeInfoMiddleware( next, new RuntimeInfoPageOptions(), libraryManagerMock.Object); // Act var model = middleware.CreateRuntimeInfoModel(); // Assert Assert.False(string.IsNullOrWhiteSpace(model.Version)); Assert.Same(libraries, model.References); }
private void Flatten(ILibraryInformation info, Dictionary <string, List <ILibraryInformation> > firstLevelLookups, HashSet <ILibraryInformation> parentDependents = null) { IEnumerable <ILibraryInformation> libraryDependents; if (!_inverse.TryGetValue(info.Name, out libraryDependents)) { List <ILibraryInformation> firstLevelDependents; if (firstLevelLookups.TryGetValue(info.Name, out firstLevelDependents)) { var allDependents = new HashSet <ILibraryInformation>(); foreach (var dependent in firstLevelDependents) { allDependents.Add(dependent); Flatten(dependent, firstLevelLookups, allDependents); } libraryDependents = allDependents; } else { libraryDependents = Enumerable.Empty <ILibraryInformation>(); } _inverse[info.Name] = libraryDependents; } AddRange(parentDependents, libraryDependents); }
public void CreateRuntimeInfoModel_GetsTheVersionAndAllPackages() { // Arrage var libraries = new ILibraryInformation[] { new FakeLibraryInformation() { Name = "LibInfo1", Path = "Path1" }, new FakeLibraryInformation() { Name = "LibInfo2", Path = "Path2" }, }; var libraryManagerMock = new Mock <ILibraryManager>(MockBehavior.Strict); libraryManagerMock.Setup(l => l.GetLibraries()).Returns(libraries); var runtimeEnvironmentMock = new Mock <IRuntimeEnvironment>(MockBehavior.Strict); runtimeEnvironmentMock.Setup(r => r.OperatingSystem).Returns("Windows"); runtimeEnvironmentMock.Setup(r => r.RuntimeArchitecture).Returns("x64"); runtimeEnvironmentMock.Setup(r => r.RuntimeType).Returns("clr"); runtimeEnvironmentMock.Setup(r => r.RuntimeVersion).Returns("1.0.0"); RequestDelegate next = _ => { return(Task.FromResult <object>(null)); }; var middleware = new RuntimeInfoMiddleware( next, new RuntimeInfoPageOptions(), libraryManagerMock.Object, runtimeEnvironmentMock.Object); // Act var model = middleware.CreateRuntimeInfoModel(); // Assert Assert.Equal("1.0.0", model.Version); Assert.Equal("Windows", model.OperatingSystem); Assert.Equal("clr", model.RuntimeType); Assert.Equal("x64", model.RuntimeArchitecture); Assert.Same(libraries, model.References); }
private void Visit(ILibraryInformation item, Dictionary <string, List <ILibraryInformation> > inverse, HashSet <string> visited) { if (!visited.Add(item.Name)) { return; } foreach (var dependency in item.Dependencies) { List <ILibraryInformation> dependents; if (!inverse.TryGetValue(dependency, out dependents)) { dependents = new List <ILibraryInformation>(); inverse[dependency] = dependents; } dependents.Add(item); Visit(_graph[dependency], inverse, visited); } }
public void CreateRuntimeInfoModel_GetsTheVersionAndAllPackages() { // Arrage var libraries = new ILibraryInformation[] { new FakeLibraryInformation() { Name ="LibInfo1", Path = "Path1" }, new FakeLibraryInformation() { Name ="LibInfo2", Path = "Path2" }, }; var libraryManagerMock = new Mock<ILibraryManager>(MockBehavior.Strict); libraryManagerMock.Setup(l => l.GetLibraries()).Returns(libraries); var runtimeEnvironmentMock = new Mock<IRuntimeEnvironment>(MockBehavior.Strict); runtimeEnvironmentMock.Setup(r => r.OperatingSystem).Returns("Windows"); runtimeEnvironmentMock.Setup(r => r.RuntimeArchitecture).Returns("x64"); runtimeEnvironmentMock.Setup(r => r.RuntimeType).Returns("clr"); runtimeEnvironmentMock.Setup(r => r.RuntimeVersion).Returns("1.0.0"); RequestDelegate next = _ => { return Task.FromResult<object>(null); }; var middleware = new RuntimeInfoMiddleware( next, new RuntimeInfoPageOptions(), libraryManagerMock.Object, runtimeEnvironmentMock.Object); // Act var model = middleware.CreateRuntimeInfoModel(); // Assert Assert.Equal("1.0.0", model.Version); Assert.Equal("Windows", model.OperatingSystem); Assert.Equal("clr", model.RuntimeType); Assert.Equal("x64", model.RuntimeArchitecture); Assert.Same(libraries, model.References); }
private static bool IsCandidateLibrary(ILibraryInformation library) { return !_mvcAssemblyList.Contains(library.Name); }
private static Assembly Load(ILibraryInformation library) { return Assembly.Load(new AssemblyName(library.Name)); }
private bool IsCandidateLibrary(ILibraryInformation library) { return !_codeGenerationFrameworkAssemblies.Contains(library.Name); }
private void Visit(ILibraryInformation item, Dictionary<string, List<ILibraryInformation>> inverse, HashSet<string> visited) { if (!visited.Add(item.Name)) { return; } foreach (var dependency in item.Dependencies) { List<ILibraryInformation> dependents; if (!inverse.TryGetValue(dependency, out dependents)) { dependents = new List<ILibraryInformation>(); inverse[dependency] = dependents; } dependents.Add(item); Visit(_graph[dependency], inverse, visited); } }
private void Flatten(ILibraryInformation info, Dictionary<string, List<ILibraryInformation>> firstLevelLookups, HashSet<ILibraryInformation> parentDependents = null) { IEnumerable<ILibraryInformation> libraryDependents; if (!_inverse.TryGetValue(info.Name, out libraryDependents)) { List<ILibraryInformation> firstLevelDependents; if (firstLevelLookups.TryGetValue(info.Name, out firstLevelDependents)) { var allDependents = new HashSet<ILibraryInformation>(); foreach (var dependent in firstLevelDependents) { allDependents.Add(dependent); Flatten(dependent, firstLevelLookups, allDependents); } libraryDependents = allDependents; } else { libraryDependents = Enumerable.Empty<ILibraryInformation>(); } _inverse[info.Name] = libraryDependents; } AddRange(parentDependents, libraryDependents); }
private static bool IsCandidateLibrary(ILibraryInformation library) { return(!_mvcAssemblyList.Contains(library.Name)); }
private bool IsCandidateLibrary(ILibraryInformation library) { Debug.Assert(ReferenceAssemblies != null); return !ReferenceAssemblies.Contains(library.Name); }
private bool IsCandidateLibrary(ILibraryInformation library) { Debug.Assert(ReferenceAssemblies != null); return(!ReferenceAssemblies.Contains(library.Name)); }
private static Assembly Load(ILibraryInformation library) { return(Assembly.Load(new AssemblyName(library.Name))); }
private bool IsCandidateLibrary(ILibraryInformation library) { return(!_codeGenerationFrameworkAssemblies.Contains(library.Name)); }