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);
        }
Exemple #10
0
        public void LooksOnlyOnEnvironmentVariableOnNonWindows()
        {
            var result = ReferenceAssemblyPathResolver.GetDefaultReferenceAssembliesPath(FileSystemMockBuilder.Empty, EnvironmentMockBuilder.Empty);

            result.Should().BeNull();
        }