Esempio n. 1
0
        public void OnAssemblyResolve_AssemblyNotAlreadyLoadedAndFactoryNotNull_ReturnsResultFromFactory()
        {
            Assembly expectedResult = GetType().Assembly;
            string assemblyName = Guid.NewGuid().ToString();

            var subject = new AssemblyResolver(_loadedAssemblyFinderMock.Object,
                _assemblyLoaderFactoryMock.Object);

            var loaderMock = new Mock<IAssemblyLoader>();
            loaderMock.Setup(loader => loader.Load()).Returns(expectedResult);

            _loadedAssemblyFinderMock
                .Setup(finder => finder.Find(It.IsAny<AssemblyName>()))
                .Returns(default(Assembly));

            _assemblyLoaderFactoryMock
                .Setup(factory => factory.GetLoaderForAssembly(It.IsAny<AssemblyName>()))
                .Returns(default(IAssemblyLoader));

            _assemblyLoaderFactoryMock
                .Setup(factory => factory.GetLoaderForAssembly(It.Is<AssemblyName>(name => name.Name == assemblyName)))
                .Returns(loaderMock.Object)
                .Verifiable();

            // Act
            Assembly result = subject.OnAssemblyResolve(this, new ResolveEventArgs(assemblyName));

            // Assert
            Assert.AreEqual(expectedResult, result);
            _assemblyLoaderFactoryMock.Verify();
        }
Esempio n. 2
0
        public void OnAssemblyResolve_AssemblyAlreadyLoaded_ReturnsAlreadyLoadedAssembly()
        {
            string assemblyName = Guid.NewGuid().ToString();
            Assembly expectedResult = GetType().Assembly;

            var subject = new AssemblyResolver(_loadedAssemblyFinderMock.Object,
                _assemblyLoaderFactoryMock.Object);

            _loadedAssemblyFinderMock
                .Setup(finder => finder.Find(It.Is<AssemblyName>(name => name.Name == assemblyName)))
                .Returns(expectedResult)
                .Verifiable();

            // Act
            Assembly result = subject.OnAssemblyResolve(this, new ResolveEventArgs(assemblyName));

            // Assert
            Assert.AreEqual(expectedResult, result);
            _loadedAssemblyFinderMock.Verify();
        }
Esempio n. 3
0
        public void OnAssemblyResolve_AssemblyNotAlreadyLoadedAndFactoryNull_ReturnsNull()
        {
            string assemblyName = Guid.NewGuid().ToString();

            var subject = new AssemblyResolver(_loadedAssemblyFinderMock.Object, null);

            _loadedAssemblyFinderMock
                .Setup(finder => finder.Find(It.Is<AssemblyName>(name => name.Name == assemblyName)))
                .Returns(default(Assembly));

            // Act
            Assembly result = subject.OnAssemblyResolve(this, new ResolveEventArgs(assemblyName));

            // Assert
            Assert.AreEqual(null, result);
        }