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); }
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); }
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)); }
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)); }
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); }