public static void Execute()
        {
            // Arrange
            var mockControllerFactory = new Mock <IControllerFactory>(MockBehavior.Strict);
            var task = new RegisterControllerFactory(mockControllerFactory.Object);

            // Act
            task.Execute();

            // Assert
            Assert.Equal(mockControllerFactory.Object, ControllerBuilder.Current.GetControllerFactory());
        }
        public void Should_be_able_to_register_controller_factory()
        {
            var builder = new ControllerBuilder();
            var registration = new RegisterControllerFactory(builder);

            var serviceLocator = new Mock<FakeServiceLocator>();
            var controllerFactory = new Mock<IControllerFactory>();

            serviceLocator.Setup(sl => sl.GetInstance<IControllerFactory>()).Returns(controllerFactory.Object);

            registration.Execute(serviceLocator.Object);

            Assert.Same(controllerFactory.Object, builder.GetControllerFactory());
        }