public void Default_MvcBlade_Returns_Filled_Registration_List()
        {
            var blade = new MvcBlade();

            var list = new AutoRegistrationList();
            blade.AddRegistrations(list);

            Assert.IsNotEmpty(list.ToList());
            Assert.AreEqual(list.Count(), 7);
        }
        public void Default_MvcBlade_Returns_Filled_Registration_List_With_MVC_Registrations()
        {
            var blade = new MvcBlade();

            var list = new AutoRegistrationList();
            blade.AddRegistrations(list);

            foreach (var registration in list) {
                Assert.IsTrue(registration.IsValid());
                Assert.IsTrue(registration.ServiceType.IsMvcType());
            }
        }
        public void Null_Service_Locator_Should_Throw_InvalidOperationException()
        {
            var context = Get<IRotorContext>();

            using (Record()) {
                Expect.Call(context.ServiceLocator).Return(null);
            }

            using (Playback()) {
                var blade = new MvcBlade();
                blade.SetupControllerFactory(context);
            }
        }
        public void Resolve_Controller_Factory_Returns_DefaultControllerFactory()
        {
            var contextFake = new Mock<IRotorContext>();
            var locator = new MockControllerFactoryServiceLocator();

            contextFake.Setup(x => x.ServiceLocator)
                .Returns(locator);

            var blade = new MvcBlade();
            blade.SetupControllerFactory(contextFake.Object);

            var currentFactory = ControllerBuilder.Current.GetControllerFactory();
            Assert.IsNotNull(currentFactory);
        }
        public void Resolve_Controller_Factory_Returns_DefaultControllerFactory()
        {
            var context = Get<IRotorContext>();
            var locator = new MockControllerFactoryServiceLocator();

            using (Record()) {
                Expect.Call(context.ServiceLocator).Return(locator);
            }

            using (Playback()) {
                var blade = new MvcBlade();
                blade.SetupControllerFactory(context);
            }

            var currentFactory = ControllerBuilder.Current.GetControllerFactory();
            Assert.IsNotNull(currentFactory);
        }
        public void Valid_Service_Locator_Should_Set_TurbineModelBinder()
        {
            var context = Get<IRotorContext>();

            using (Record()) {
                Expect.Call(context.ServiceLocator).Return(new MockControllerFactoryServiceLocator());
            }

            using (Playback()) {
                var blade = new MvcBlade();
                blade.SetupModelBinders(context);
            }

            var binder = ModelBinders.Binders.DefaultBinder;
            Assert.IsNotNull(binder);
            Assert.AreEqual(binder.GetType(), typeof(TurbineModelBinder));
        }
        public void Resolve_View_Engines_Returns_SimpleList()
        {
            var locator = new MockViewEngineServiceLocator();

            var contextFake = new Mock<IRotorContext>();
            contextFake.Setup(x => x.ServiceLocator)
                .Returns(locator);

            var blade = new MvcBlade();
            blade.SetupViewEngines(contextFake.Object);

            var viewEngines = ViewEngines.Engines;

            Assert.IsNotNull(viewEngines);
            Assert.IsNotEmpty(viewEngines);
            Assert.AreEqual(viewEngines.Count, 2);
        }
        public void Resolve_Controller_Factory_Returns_Null_Which_Implies_TurbineControllerFactory()
        {
            var locator = new MockControllerFactoryServiceLocator()
            {
                ShouldReturnNullForControllerFactory = true
            };

            var contextFake = new Mock<IRotorContext>();
            contextFake.Setup(x => x.ServiceLocator)
                .Returns(locator);

            var blade = new MvcBlade();
            blade.SetupControllerFactory(contextFake.Object);

            var currentFactory = ControllerBuilder.Current.GetControllerFactory();
            Assert.IsNotNull(currentFactory);
            Assert.AreEqual(currentFactory.GetType(), typeof(TurbineControllerFactory));
        }
        public void Resolve_View_Engines_Returns_SimpleList()
        {
            var context = Get<IRotorContext>();
            var locator = new MockViewEngineServiceLocator();

            using (Record()) {
                Expect.Call(context.ServiceLocator).Return(locator);
            }

            using (Playback()) {
                var blade = new MvcBlade();
                blade.SetupViewEngines(context);
            }

            var viewEngines = ViewEngines.Engines;

            Assert.IsNotNull(viewEngines);
            Assert.IsNotEmpty(viewEngines);
            Assert.AreEqual(viewEngines.Count, 1);
        }
        public void Resolve_Controller_Factory_Returns_Null_Which_Implies_TurbineControllerFactory()
        {
            var context = Get<IRotorContext>();
            var locator = new MockControllerFactoryServiceLocator()
            {
                ShouldReturnNullForControllerFactory = true
            };

            using (Record()) {
                Expect.Call(context.ServiceLocator).Return(locator);
            }

            using (Playback()) {
                var blade = new MvcBlade();
                blade.SetupControllerFactory(context);
            }

            var currentFactory = ControllerBuilder.Current.GetControllerFactory();
            Assert.IsNotNull(currentFactory);
            Assert.AreEqual(currentFactory.GetType(), typeof(TurbineControllerFactory));
        }
 public void Null_Rotor_Context_Should_Throw_ArgumentNullException()
 {
     var blade = new MvcBlade();
     blade.SetupControllerFactory(null);
 }
 public void Mvc_Blade_Is_Not_Core_Blade()
 {
     bool result = new MvcBlade().IsCoreBlade();
     Assert.IsTrue(result);
 }
 public void Null_Rotor_Context_Should_Throw_ArgumentNullException()
 {
     var blade = new MvcBlade();
     blade.SetupModelBinders(null);
 }
        public void Resolve_View_Engine_Throws_Exception_Which_Returns_Null_List()
        {
            var context = Get<IRotorContext>();
            var locator = new MockViewEngineServiceLocator()
            {
                ShouldThrowExceptionForViewEngine = true
            };

            using (Record()) {
                Expect.Call(context.ServiceLocator).Return(locator);
            }

            using (Playback()) {
                var blade = new MvcBlade();
                blade.SetupViewEngines(context);
            }

            var viewEngines = ViewEngines.Engines;

            Assert.IsNotNull(viewEngines);
            Assert.IsNotEmpty(viewEngines);
            Assert.AreEqual(viewEngines.Count, 1);
        }
 public void Null_Rotor_Context_Should_Throw_ArgumentNullException()
 {
     var blade = new MvcBlade();
     blade.SetupViewEngines(null);
 }
        public void Resolve_View_Engine_Throws_Exception_Which_Returns_Null_List()
        {
            var contextFake = new Mock<IRotorContext>();
            var locator = new MockViewEngineServiceLocator()
            {
                ShouldThrowExceptionForViewEngine = true
            };

            contextFake.Setup(x => x.ServiceLocator)
                .Returns(locator);

            var blade = new MvcBlade();
            blade.SetupViewEngines(contextFake.Object);

            var viewEngines = ViewEngines.Engines;

            Assert.IsNotNull(viewEngines);
            Assert.IsNotEmpty(viewEngines);
            Assert.AreEqual(viewEngines.Count, 1);
        }