public void Initialize_CallsRegisterVirtualPathsAndInitializeControllers()
        {
            var initializer = new DummyInitializer();

            IEnumerable <Assembly> assemblies = null;

            initializer.GetAssembliesMock = () =>
            {
                assemblies = new List <Assembly>();
                return(assemblies);
            };

            bool registerVirtualPathsCalled = false;

            initializer.RegisterVirtualPathsMock = asm =>
            {
                registerVirtualPathsCalled = true;
                Assert.AreSame(assemblies, asm, "RegisterVirtualPaths was not called with the expected arguments.");
            };

            IEnumerable <Type> controllerTypes = null;

            initializer.GetControllersMock = asm =>
            {
                Assert.AreSame(assemblies, asm, "GetControllerTypes was not called with the expected arguments.");
                controllerTypes = new List <Type>();
                return(controllerTypes);
            };

            bool initializeControllersCalled = false;

            initializer.InitializeControllersMock = types =>
            {
                initializeControllersCalled = true;
                Assert.AreSame(controllerTypes, types, "InitializeControllers was not called with the expected arguments");
            };

            initializer.Initialize();
            Assert.IsTrue(registerVirtualPathsCalled, "RegisterVirtualPaths was not called.");
            Assert.IsTrue(initializeControllersCalled, "InitializeControllers was not called.");
        }
        public void Initialize_CallsRegisterVirtualPathsAndInitializeControllers()
        {
            var initializer = new DummyInitializer();

            IEnumerable<Assembly> assemblies = null;
            initializer.GetAssembliesMock = () =>
            {
                assemblies = new List<Assembly>();
                return assemblies;
            };

            bool registerVirtualPathsCalled = false;
            initializer.RegisterVirtualPathsMock = asm =>
            {
                registerVirtualPathsCalled = true;
                Assert.AreSame(assemblies, asm, "RegisterVirtualPaths was not called with the expected arguments.");
            };

            IEnumerable<Type> controllerTypes = null;
            initializer.GetControllersMock = asm =>
            {
                Assert.AreSame(assemblies, asm, "GetControllerTypes was not called with the expected arguments.");
                controllerTypes = new List<Type>();
                return controllerTypes;
            };

            bool initializeControllersCalled = false;
            initializer.InitializeControllersMock = types =>
            {
                initializeControllersCalled = true;
                Assert.AreSame(controllerTypes, types, "InitializeControllers was not called with the expected arguments");
            };

            initializer.Initialize();
            Assert.IsTrue(registerVirtualPathsCalled, "RegisterVirtualPaths was not called.");
            Assert.IsTrue(initializeControllersCalled, "InitializeControllers was not called.");
        }