Пример #1
0
        public void ResolvesReferenceAssemblyType()
        {
            var fileSystem = FileSystemMockBuilder
                             .Create()
                             .AddFiles(BasePathRefs, TestLibraryFactory.DefaultAssembly)
                             .Build();
            var resolver = new AppBaseCompilationAssemblyResolver(fileSystem, BasePath);
            var library  = TestLibraryFactory.Create(
                TestLibraryFactory.ReferenceAssemblyType,
                assemblies: TestLibraryFactory.EmptyAssemblies);

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

            Assert.True(result);
        }
Пример #2
0
        public void RequiresExistingRefsFolderForNonProjects()
        {
            var fileSystem = FileSystemMockBuilder
                             .Create()
                             .AddFiles(BasePath, TestLibraryFactory.DefaultAssembly, TestLibraryFactory.SecondAssembly)
                             .Build();
            var library = TestLibraryFactory.Create(
                TestLibraryFactory.ReferenceAssemblyType,
                assemblies: TestLibraryFactory.TwoAssemblies);
            var resolver   = new AppBaseCompilationAssemblyResolver(fileSystem, BasePath);
            var assemblies = new List <string>();

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

            Assert.False(result);
            assemblies.Should().HaveCount(0);
        }
Пример #3
0
        public void ResolvesProjectWithoutRefsFolder()
        {
            var fileSystem = FileSystemMockBuilder
                             .Create()
                             .AddFiles(BasePath, TestLibraryFactory.DefaultAssembly, TestLibraryFactory.SecondAssembly)
                             .Build();
            var library = TestLibraryFactory.Create(
                TestLibraryFactory.ProjectType,
                assemblies: TestLibraryFactory.TwoAssemblies);
            var resolver   = new AppBaseCompilationAssemblyResolver(fileSystem, BasePath);
            var assemblies = new List <string>();

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

            Assert.True(result);
            assemblies.Should().HaveCount(2);
            assemblies.Should().Contain(Path.Combine(BasePath, TestLibraryFactory.DefaultAssembly));
            assemblies.Should().Contain(Path.Combine(BasePath, TestLibraryFactory.SecondAssembly));
        }
Пример #4
0
        public void PrefersRefs()
        {
            var fileSystem = FileSystemMockBuilder
                             .Create()
                             .AddFiles(BasePath, TestLibraryFactory.DefaultAssembly)
                             .AddFiles(BasePathRefs, TestLibraryFactory.DefaultAssembly)
                             .Build();
            var library = TestLibraryFactory.Create(
                TestLibraryFactory.ReferenceAssemblyType
                );

            var resolver   = new AppBaseCompilationAssemblyResolver(fileSystem, BasePath);
            var assemblies = new List <string>();

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

            Assert.True(result);
            assemblies.Should().HaveCount(1);
            assemblies.Should().Contain(Path.Combine(BasePathRefs, TestLibraryFactory.DefaultAssembly));
        }
Пример #5
0
        public void RequiresAllLibrariesToExist()
        {
            var fileSystem = FileSystemMockBuilder
                             .Create()
                             .AddFiles(BasePath, TestLibraryFactory.DefaultAssembly)
                             .AddFiles(BasePathRefs, TestLibraryFactory.DefaultAssembly)
                             .Build();
            var library = TestLibraryFactory.Create(
                TestLibraryFactory.ReferenceAssemblyType,
                assemblies: TestLibraryFactory.TwoAssemblies);
            var resolver   = new AppBaseCompilationAssemblyResolver(fileSystem, BasePath);
            var assemblies = new List <string>();

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

            exception.Message.Should()
            .Contain(BasePath)
            .And.Contain(BasePathRefs)
            .And.Contain(TestLibraryFactory.SecondAssembly);
        }