public void FileModuleTypeLoaderCanBeDisposed() { var typeLoader = new FileModuleTypeLoader(); var disposable = typeLoader as IDisposable; Assert.IsNotNull(disposable); }
public void CanRetrieveWithCorrectRef() { var retriever = new FileModuleTypeLoader(); var moduleInfo = new ModuleInfo() { Ref = "file://somefile" }; Assert.IsTrue(retriever.CanLoadModuleType(moduleInfo)); }
public void CannotRetrieveWithIncorrectRef() { var retriever = new FileModuleTypeLoader(); var moduleInfo = new ModuleInfo() { Ref = "NotForLocalRetrieval" }; Assert.IsFalse(retriever.CanLoadModuleType(moduleInfo)); }
public void FileModuleTypeLoaderDisposeDoesNotThrowWithNonDisposableAssemblyResolver() { Mock<IAssemblyResolver> mockResolver = new Mock<IAssemblyResolver>(); var typeLoader = new FileModuleTypeLoader(mockResolver.Object); try { typeLoader.Dispose(); } catch (Exception) { Assert.Fail(); } }
public void CanRetrieveModule() { var assemblyResolver = new MockAssemblyResolver(); var retriever = new FileModuleTypeLoader(assemblyResolver); string assembly = CompilerHelper.GenerateDynamicModule("FileModuleA", null); string assemblyRef = "file://" + assembly; var fileModuleInfo = CreateModuleInfo(assemblyRef, "TestModules.FileModuleAClass", "ModuleA", true, null); bool loadCompleted = false; retriever.LoadModuleCompleted += delegate(object sender, LoadModuleCompletedEventArgs e) { loadCompleted = true; }; retriever.LoadModuleType(fileModuleInfo); Assert.IsTrue(loadCompleted); Assert.AreEqual(assemblyRef, assemblyResolver.LoadAssemblyFromArgument); }
public void ShouldReturnErrorToCallback() { var assemblyResolver = new MockAssemblyResolver(); var retriever = new FileModuleTypeLoader(assemblyResolver); var fileModuleInfo = CreateModuleInfo("NonExistentFile.dll", "NonExistentModule", "NonExistent", true, null); assemblyResolver.ThrowOnLoadAssemblyFrom = true; Exception resultException = null; bool loadCompleted = false; retriever.LoadModuleCompleted += delegate(object sender, LoadModuleCompletedEventArgs e) { loadCompleted = true; resultException = e.Error; }; retriever.LoadModuleType(fileModuleInfo); Assert.IsTrue(loadCompleted); Assert.IsNotNull(resultException); }
public void FileModuleTypeLoaderDisposeNukesAssemblyResolver() { Mock<IAssemblyResolver> mockResolver = new Mock<IAssemblyResolver>(); var disposableMockResolver = mockResolver.As<IDisposable>(); disposableMockResolver.Setup(resolver => resolver.Dispose()); var typeLoader = new FileModuleTypeLoader(mockResolver.Object); typeLoader.Dispose(); disposableMockResolver.Verify(resolver => resolver.Dispose(), Times.Once()); }