Example #1
0
        protected override IModuleEnumerator GetModuleEnumerator()
        {
            var moduleEnumerator = new StaticModuleEnumerator();

            moduleEnumerator.AddModule(typeof(FirstModule));
            moduleEnumerator.AddModule(typeof(SecondModule));
            moduleEnumerator.AddModule(typeof(ThirdModule));

            return(moduleEnumerator);
        }
        public void GetModuleReturnsModuleInfoForModule()
        {
            var enumerator = new StaticModuleEnumerator();

            enumerator.AddModule(typeof(MockModule));
            enumerator.AddModule(typeof(AnotherModule));

            var module = enumerator.GetModule(typeof(MockModule).Name);

            Assert.AreEqual(typeof(MockModule).FullName, module.ModuleType);
        }
        public void GetStartupModulesReturnsAllModules()
        {
            var enumerator = new StaticModuleEnumerator();

            enumerator.AddModule(typeof(MockModule));
            enumerator.AddModule(typeof(AnotherModule));

            var startupModules = enumerator.GetStartupLoadedModules();

            Assert.AreEqual(2, startupModules.Length);

            var allModules = enumerator.GetModules();

            Assert.AreSame(allModules[0], startupModules[0]);
        }
        public void CanPassDependantModules()
        {
            var enumerator = new StaticModuleEnumerator();

            enumerator.AddModule(typeof(MockModule), "DependentModule");

            var modules = enumerator.GetModules();

            Assert.IsNotNull(modules[0].DependsOn);
            Assert.AreEqual(1, modules[0].DependsOn.Count);
            Assert.AreEqual("DependentModule", modules[0].DependsOn[0]);
        }
        public void CanAddModuleToEnumerator()
        {
            var enumerator = new StaticModuleEnumerator();

            enumerator.AddModule(typeof(MockModule));

            var modules = enumerator.GetModules();

            Assert.AreEqual(1, modules.Length);
            Assert.AreEqual(typeof(MockModule).Name, modules[0].ModuleName);
            Assert.AreEqual(typeof(MockModule).FullName, modules[0].ModuleType);
            Assert.AreEqual(typeof(MockModule).Assembly.Location, modules[0].AssemblyFile);
        }
        public void FluentInterfaceShouldReturnTheSameInstance()
        {
            var enumerator = new StaticModuleEnumerator();

            Assert.AreSame(enumerator, enumerator.AddModule(typeof(MockModule)));
        }