示例#1
0
        public void FailsWhenOneOfAssembliesNotFound()
        {
            var packagePath = GetPackagesPath(F.DefaultPackageName, F.DefaultVersion);
            var fileSystem  = FileSystemMockBuilder.Create()
                              .AddFiles(packagePath, F.DefaultAssemblyPath)
                              .Build();
            var library = F.Create(assemblies: F.TwoAssemblies);

            var resolver   = new PackageCompilationAssemblyResolver(fileSystem, new string[] { PackagesPath });
            var assemblies = new List <string>();

            resolver.TryResolveAssemblyPaths(library, assemblies)
            .Should().BeFalse();

            assemblies.Should().BeEmpty();
        }
示例#2
0
        public void FailsWhenOneOfAssembliesNotFound()
        {
            var packagePath = Path.Combine(PackagesPath, F.DefaultPackageName, F.DefaultVersion);
            var fileSystem  = FileSystemMockBuilder.Create()
                              .AddFiles(packagePath, F.DefaultAssemblyPath)
                              .Build();
            var library = F.Create(assemblies: F.TwoAssemblies);

            var resolver   = new PackageCompilationAssemblyResolver(fileSystem, PackagesPath);
            var assemblies = new List <string>();

            var exception = Assert.Throws <InvalidOperationException>(() => resolver.TryResolveAssemblyPaths(library, assemblies));

            exception.Message.Should()
            .Contain(F.SecondAssemblyPath)
            .And.Contain(library.Name);
        }
示例#3
0
        public void ResolvesAllAssemblies()
        {
            var packagePath = Path.Combine(PackagesPath, F.DefaultPackageName, F.DefaultVersion);
            var fileSystem  = FileSystemMockBuilder.Create()
                              .AddFiles(packagePath, F.TwoAssemblies)
                              .Build();
            var library = F.Create(assemblies: F.TwoAssemblies);

            var resolver   = new PackageCompilationAssemblyResolver(fileSystem, PackagesPath);
            var assemblies = new List <string>();

            var result = resolver.TryResolveAssemblyPaths(library, assemblies);

            assemblies.Should().HaveCount(2);
            assemblies.Should().Contain(Path.Combine(packagePath, F.DefaultAssemblyPath));
            assemblies.Should().Contain(Path.Combine(packagePath, F.SecondAssemblyPath));
        }
示例#4
0
        public void KeepsLookingWhenOneOfAssembliesNotFound()
        {
            var packagePath1 = GetPackagesPath(F.DefaultPackageName, F.DefaultVersion);
            var secondPath   = "secondPath";
            var packagePath2 = GetPackagesPath(secondPath, F.DefaultPackageName, F.DefaultVersion);
            var fileSystem   = FileSystemMockBuilder.Create()
                               .AddFiles(packagePath1, F.DefaultAssemblyPath)
                               .AddFiles(packagePath2, F.DefaultAssemblyPath, F.SecondAssemblyPath)
                               .Build();
            var library = F.Create(assemblies: F.TwoAssemblies);

            var resolver   = new PackageCompilationAssemblyResolver(fileSystem, new string[] { PackagesPath, secondPath });
            var assemblies = new List <string>();

            resolver.TryResolveAssemblyPaths(library, assemblies)
            .Should().BeTrue();

            assemblies.Should().HaveCount(2);
            assemblies.Should().Contain(Path.Combine(packagePath2, F.DefaultAssemblyPath));
            assemblies.Should().Contain(Path.Combine(packagePath2, F.SecondAssemblyPath));
        }