public void ReturnsProgramFilesAsDefaultLocationOnWin32() { var environment = EnvironmentMockBuilder.Create() .AddVariable("ProgramFiles", "Program Files") .Build(); var result = ReferenceAssemblyPathResolver.GetDefaultReferenceAssembliesPath(FileSystemMockBuilder.Empty, Platform.Windows, environment); result.Should().Be(Path.Combine("Program Files", "Reference Assemblies", "Microsoft", "Framework")); }
public void LooksOnlyOnEnvironmentVariableOnNonWindows() { var runtime = new Mock <IRuntimeEnvironment>(); runtime.SetupGet(r => r.OperatingSystemPlatform).Returns(Platform.Linux); var result = ReferenceAssemblyPathResolver.GetDefaultReferenceAssembliesPath(runtime.Object, FileSystemMockBuilder.Empty, EnvironmentMockBuilder.Empty); result.Should().BeNull(); }
public void SkipsNonReferenceAssembly() { var resolver = new ReferenceAssemblyPathResolver(); var library = F.Create( F.PackageType); var result = resolver.TryResolveAssemblyPaths(library, null); result.Should().BeFalse(); }
public void UsesEnvironmentVariableForDefaultPath() { var environment = EnvironmentMockBuilder.Create() .AddVariable("DOTNET_REFERENCE_ASSEMBLIES_PATH", ReferencePath) .Build(); var result = ReferenceAssemblyPathResolver.GetDefaultReferenceAssembliesPath(FileSystemMockBuilder.Empty, Platform.Windows, environment); result.Should().Be(ReferencePath); }
public void ReturnsProgramFilesAsDefaultLocationOnWin32() { var runtime = new Mock <IRuntimeEnvironment>(); runtime.SetupGet(r => r.OperatingSystemPlatform).Returns(Platform.Windows); var environment = EnvironmentMockBuilder.Create() .AddVariable("ProgramFiles", "Program Files") .Build(); var result = ReferenceAssemblyPathResolver.GetDefaultReferenceAssembliesPath(runtime.Object, FileSystemMockBuilder.Empty, environment); result.Should().Be(Path.Combine("Program Files", "Reference Assemblies", "Microsoft", "Framework")); }
public void UsesEnvironmentVariableForDefaultPath() { var runtime = new Mock <IRuntimeEnvironment>(); runtime.SetupGet(r => r.OperatingSystemPlatform).Returns(Platform.Windows); var environment = EnvironmentMockBuilder.Create() .AddVariable("DOTNET_REFERENCE_ASSEMBLIES_PATH", ReferencePath) .Build(); var result = ReferenceAssemblyPathResolver.GetDefaultReferenceAssembliesPath(runtime.Object, FileSystemMockBuilder.Empty, environment); result.Should().Be(ReferencePath); }
public void ChecksForFileNameInFallbackLocation() { var fileSystem = FileSystemMockBuilder.Create() .AddFiles(ReferencePath, F.DefaultAssembly) .Build(); var library = F.Create(libraryType: F.ReferenceAssemblyType); var assemblies = new List <string>(); var resolver = new ReferenceAssemblyPathResolver(fileSystem, null, new string[] { ReferencePath }); var result = resolver.TryResolveAssemblyPaths(library, assemblies); result.Should().BeTrue(); assemblies.Should().Contain(Path.Combine(ReferencePath, F.DefaultAssembly)); }
public void ReturnNet20PathAsFallbackOnWindows() { var net20Path = Path.Combine("Windows", "Microsoft.NET", "Framework", "v2.0.50727"); var fileSystem = FileSystemMockBuilder.Create() .AddFiles(net20Path, "some.dll") .Build(); var environment = EnvironmentMockBuilder.Create() .AddVariable("WINDIR", "Windows") .Build(); var result = ReferenceAssemblyPathResolver.GetFallbackSearchPaths(fileSystem, Platform.Windows, environment); result.Should().Contain(net20Path); }
public void ShouldResolveAll() { var fileSystem = FileSystemMockBuilder.Create() .AddFiles(ReferencePath, F.DefaultAssembly) .Build(); var library = F.Create(libraryType: F.ReferenceAssemblyType, assemblies: F.TwoAssemblies); var assemblies = new List <string>(); var resolver = new ReferenceAssemblyPathResolver(fileSystem, null, new string[] { ReferencePath }); var exception = Assert.Throws <InvalidOperationException>(() => resolver.TryResolveAssemblyPaths(library, assemblies)); exception.Message.Should() .Contain(F.SecondAssemblyPath) .And.Contain(library.Name); }
public void LooksOnlyOnEnvironmentVariableOnNonWindows() { var result = ReferenceAssemblyPathResolver.GetDefaultReferenceAssembliesPath(FileSystemMockBuilder.Empty, EnvironmentMockBuilder.Empty); result.Should().BeNull(); }