Exemplo n.º 1
0
        public void GetLoaderForAssembly_NonexistingAssembly_ReturnsNull()
        {
            var subject = new AssemblyLoaderFactory(Path.GetTempPath(), _assemblyRewriterMock.Object);
            var result = subject.GetLoaderForAssembly(new AssemblyName(Guid.NewGuid().ToString()));

            Assert.IsNull(result);
        }
Exemplo n.º 2
0
        public void Dispose_DisposesAssemblyRewriter()
        {
            var subject = new AssemblyLoaderFactory(Path.GetTempPath(), _assemblyRewriterMock.Object);
            subject.Dispose();

            _assemblyRewriterMock.Verify(rewriter => rewriter.Dispose(), Times.Once);
        }
Exemplo n.º 3
0
        public void GetLoaderForAssembly_ExistingAssembly_ReturnsRewriterResult()
        {
            string location = Assembly.GetExecutingAssembly().Location;
            var loader = new AssemblyLoader(location);

            _assemblyRewriterMock
                .Setup(rewriter => rewriter.Rewrite(location))
                .Returns(loader);

            var subject = new AssemblyLoaderFactory(Path.GetDirectoryName(location), _assemblyRewriterMock.Object);

            // Act
            var result = subject.GetLoaderForAssembly(Assembly.GetExecutingAssembly().GetName());

            // Assert
            Assert.AreEqual(loader, result);
            _assemblyRewriterMock.Verify();
        }
Exemplo n.º 4
0
        public void RegisterAssembly_GetLoaderForAssemblyLoadsFromSuppliedPath()
        {
            string assemblyName = Guid.NewGuid().ToString();
            string path = Path.Combine(@"c:\temp", assemblyName + ".dll");

            var subject = new AssemblyLoaderFactory(Path.GetTempPath(), _assemblyRewriterMock.Object);
            subject.RegisterAssembly(assemblyName, path);

            var loader = new AssemblyLoader(path);
            _assemblyRewriterMock
                .Setup(rewriter => rewriter.Rewrite(path))
                .Returns(loader)
                .Verifiable();

            // Act
            var result = subject.GetLoaderForAssembly(new AssemblyName(assemblyName));

            // Assert
            Assert.AreEqual(loader, result);
            _assemblyRewriterMock.Verify();
        }