Esempio n. 1
0
        public void DuplicateModuleNameThrows()
        {
            IContainerFacade containerFacade = new MockContainerAdapter();
            var service = new TestableModuleInitializerService(containerFacade, new MockLogger());

            //var firstModuleInfo = new ModuleInfo(typeof(FirstTestModule).Assembly.Location, typeof(FirstTestModule).FullName, "SameName");
            //var secondModuleInfo = new ModuleInfo(typeof(SecondTestModule).Assembly.Location, typeof(SecondTestModule).FullName, "SameName");

            var firstModuleInfo  = new ModuleInfo(typeof(FirstTestModule).Assembly.FullName, typeof(FirstTestModule).FullName, "SameName");
            var secondModuleInfo = new ModuleInfo(typeof(SecondTestModule).Assembly.FullName, typeof(SecondTestModule).FullName, "SameName");

            bool exceptionThrown = false;

            try
            {
                service.Initialize(new[] { firstModuleInfo, secondModuleInfo });
            }
            catch (Exception ex)
            {
                Assert.AreEqual(typeof(ModuleLoadException), ex.GetType());
                StringAssert.Contains(ex.Message, "SameName");
                StringAssert.Contains(ex.Message, "duplicate");
                exceptionThrown = true;
            }
            Assert.IsTrue(exceptionThrown, "No exception thrown.");
        }
Esempio n. 2
0
        public void ShouldNotLoadAssemblyThatHasAlreadyBeenLoaded()
        {
            IContainerFacade containerFacade = new MockContainerAdapter();
            var service = new TestableModuleInitializerService(containerFacade, new MockLogger());

            var firstModuleInfo  = new ModuleInfo(typeof(FirstTestModule).Assembly.Location, typeof(FirstTestModule).FullName, "FirstTestModule");
            var secondModuleInfo = new ModuleInfo(typeof(SecondTestModule).Assembly.Location, typeof(SecondTestModule).FullName, "SecondTestModule");

            Assert.AreEqual(0, service.LoadedAssemblies.Count);

            service.Initialize(new[] { firstModuleInfo, secondModuleInfo });

            Assert.AreEqual(1, service.LoadedAssemblies.Count);
        }
Esempio n. 3
0
        public void InexistentAssemblyFileThrows()
        {
            IContainerFacade containerFacade = new MockContainerAdapter();
            var service = new TestableModuleInitializerService(containerFacade, new MockLogger());

            var moduleInfo = new ModuleInfo(typeof(FirstTestModule).Assembly.Location + "NotValid.dll", typeof(FirstTestModule).FullName, "InexistantModule");

            bool exceptionThrown = false;

            try
            {
                service.Initialize(new[] { moduleInfo });
            }
            catch (Exception ex)
            {
                Assert.AreEqual(typeof(ModuleLoadException), ex.GetType());
                StringAssert.Contains(ex.Message, "NotValid.dll");
                StringAssert.Contains(ex.Message, "not found");
                exceptionThrown = true;
            }
            Assert.IsTrue(exceptionThrown, "No exception thrown.");
        }
        public void InexistentAssemblyFileThrows()
        {
            IContainerFacade containerFacade = new MockContainerAdapter();
            var service = new TestableModuleInitializerService(containerFacade, new MockLogger());

            var moduleInfo = new ModuleInfo(typeof(FirstTestModule).Assembly.Location + "NotValid.dll", typeof(FirstTestModule).FullName, "InexistantModule");

            bool exceptionThrown = false;
            try
            {
                service.Initialize(new[] { moduleInfo });
            }
            catch (Exception ex)
            {
                Assert.AreEqual(typeof(ModuleLoadException), ex.GetType());
                StringAssert.Contains(ex.Message, "NotValid.dll");
                StringAssert.Contains(ex.Message, "not found");
                exceptionThrown = true;
            }
            Assert.IsTrue(exceptionThrown, "No exception thrown.");
        }
        public void DuplicateModuleNameThrows()
        {
            IContainerFacade containerFacade = new MockContainerAdapter();
            var service = new TestableModuleInitializerService(containerFacade, new MockLogger());

            var firstModuleInfo = new ModuleInfo(typeof(FirstTestModule).Assembly.Location, typeof(FirstTestModule).FullName, "SameName");
            var secondModuleInfo = new ModuleInfo(typeof(SecondTestModule).Assembly.Location, typeof(SecondTestModule).FullName, "SameName");

            bool exceptionThrown = false;
            try
            {
                service.Initialize(new[] { firstModuleInfo, secondModuleInfo });
            }
            catch (Exception ex)
            {
                Assert.AreEqual(typeof(ModuleLoadException), ex.GetType());
                StringAssert.Contains(ex.Message, "SameName");
                StringAssert.Contains(ex.Message, "duplicate");
                exceptionThrown = true;
            }
            Assert.IsTrue(exceptionThrown, "No exception thrown.");
        }
        public void ShouldNotLoadAssemblyThatHasAlreadyBeenLoaded()
        {
            IContainerFacade containerFacade = new MockContainerAdapter();
            var service = new TestableModuleInitializerService(containerFacade, new MockLogger());

            var firstModuleInfo = new ModuleInfo(typeof(FirstTestModule).Assembly.Location, typeof(FirstTestModule).FullName, "FirstTestModule");
            var secondModuleInfo = new ModuleInfo(typeof(SecondTestModule).Assembly.Location, typeof(SecondTestModule).FullName, "SecondTestModule");

            Assert.AreEqual(0, service.LoadedAssemblies.Count);

            service.Initialize(new[] { firstModuleInfo, secondModuleInfo });

            Assert.AreEqual(1, service.LoadedAssemblies.Count);
        }