public void ContainercontrollerFactory_GetTypesFor_ReturnsEmpty_WhenNoControllersInContainer()
        {
            var container = new Container();
            var types     = ContainerControllerFactory.GetControllersFor(container);

            Assert.Empty(types);
        }
        public void ContainerControllerFactory_GetTypesFor_ReturnsAllControllerTypesInContainer()
        {
            Func <IEnumerable <Type>, string> typeToString = _types => _types.OrderBy(x => x.Name).Select(x => x.Name).ConcatAll(",");

            var container      = new Container();
            var mockController = new Mock <IController>().Object;

            container.Inject <IController>(new ProperController());
            container.Inject <IController>(mockController);

            var types = ContainerControllerFactory.GetControllersFor(container);

            Assert.Equal(typeToString(new[] { typeof(ProperController), mockController.GetType() }),
                         typeToString(types));
        }