コード例 #1
0
        public void should_resolve_object_with_registered_constructor_parameters()
        {
            var container = new SimpleIocContainer();

            container.Register <ITypeToResolve, ConcreteType>();
            container.Register <ITypeToResolveWithConstructorParams, ConcreteTypeWithConstructorParams>();

            object instance = container.Resolve(typeof(ITypeToResolveWithConstructorParams));

            Assert.IsInstanceOf <ConcreteTypeWithConstructorParams>(instance);
        }
コード例 #2
0
        public void should_resolve_object()
        {
            var container = new SimpleIocContainer();

            container.Register <ITypeToResolve, ConcreteType>();

            object instance = container.Resolve(typeof(ITypeToResolve));

            Assert.IsInstanceOf <ConcreteType>(instance);
        }
コード例 #3
0
        public void should_create_singleton_instance_by_default()
        {
            var container = new SimpleIocContainer();

            container.Register <ITypeToResolve, ConcreteType>();

            object instance = container.Resolve(typeof(ITypeToResolve));

            Assert.That(container.Resolve(typeof(ITypeToResolve)), Is.SameAs(instance));
        }
コード例 #4
0
        public void can_create_transient_instance()
        {
            var container = new SimpleIocContainer();

            container.Register <ITypeToResolve, ConcreteType>(LifeCycle.Transient);

            object instance = container.Resolve(typeof(ITypeToResolve));

            Assert.That(container.Resolve(typeof(ITypeToResolve)), Is.Not.SameAs(instance));
        }
コード例 #5
0
        public void Second_Registration_Should_Override_The_First_One()
        {
            // Arrange
            var poorManContainer = new SimpleIocContainer();

            poorManContainer.Register <IFileSystem, FileSystem>();
            poorManContainer.RegisterSingleton <IFileSystem>(new MockFileSystem());

            // Act
            var fileSystem = poorManContainer.GetInstance <IFileSystem>();

            // Assert
            fileSystem.Should().BeOfType <MockFileSystem>();
        }
コード例 #6
0
        public static void InitializeIocContainer()
        {
            _iocContainer = new SimpleIocContainer();

            _iocContainer.Register <ICostRepository, CostRepository>();
            _iocContainer.Register <ICriteriaRepository, CriteriaRepository>();
            _iocContainer.Register <ICriteriaValueRepository, CriteriaValueRepository>();
            _iocContainer.Register <ILabelRepository, LabelRepository>();
            _iocContainer.Register <ILabelTranslationRepository, LabelTranslationRepository>();
            _iocContainer.Register <ISqlServerDatabase, SqlServerDatabase>();
            _iocContainer.Register <IDatabaseConfiguration, DatabaseConfiguration>();
            _iocContainer.Register <NewCostsViewModel, NewCostsViewModel>();
            _iocContainer.Register <AllCostsViewModel, AllCostsViewModel>();
            _iocContainer.Register <SettingsViewModel, SettingsViewModel>();
            _iocContainer.Register <BaseViewModel, BaseViewModel>();
        }
コード例 #7
0
ファイル: ContainerBuilder.cs プロジェクト: 00mjk/LanExchange
        /// <summary>
        /// Maps interfaces to concrete implementations.
        /// </summary>
        public static IIocContainer Build()
        {
            var container = new SimpleIocContainer();

            // core singletons
            container.Register <IPanelItemFactoryManager, PanelItemFactoryManagerImpl>();
            container.Register <IPanelFillerManager, PanelFillerManagerImpl>();
            container.Register <IPanelColumnManager, PanelColumnManagerImpl>();
            container.Register <IFolderManager, FolderManagerImpl>();
            container.Register <IPluginManager, PluginManagerImpl>();
            container.Register <IServiceProvider, ServiceProviderImpl>();
            container.Register <ILazyThreadPool, LazyThreadPoolImpl>();
            container.Register <IPuntoSwitcherService, PuntoSwitcherServiceEngRus>();
            container.Register <ITranslationService, TranslationServiceImpl>();
            container.Register <IDisposableManager, DisposableManagerImpl>();
            // updater
            container.Register <IPanelUpdater, PanelUpdaterImpl>(LifeCycle.Transient);
            // models
            container.Register <IAboutModel, AboutModel>();
            container.Register <IConfigModel, ConfigModel>();
            container.Register <IPagesModel, PagesModel>(LifeCycle.Transient);
            container.Register <IPanelModel, PanelModel>(LifeCycle.Transient);
            // presenters
            container.Register <IMainPresenter, MainPresenter>();
            container.Register <IAboutPresenter, AboutPresenter>();
            container.Register <IPagesPresenter, PagesPresenter>();
            container.Register <IFilterPresenter, FilterPresenter>(LifeCycle.Transient);
            container.Register <IPanelPresenter, PanelPresenter>(LifeCycle.Transient);
            container.Register <IEditPresenter, EditPresenter>(LifeCycle.Transient);
            // OS: Windows
            container.Register <IUser32Service, User32Service>();
            container.Register <IShell32Service, Shell32Service>();
            container.Register <IKernel32Service, Kernel32Service>();
            container.Register <IComctl32Service, Comctl32Service>();
            container.Register <IOle32Service, Ole32Service>();
            container.Register <IIPHLPAPISerivice, IPHLPAPISerivce>();
            container.Register <IHotkeysService, HotkeysService>();
            container.Register <ISingleInstanceService, SingleInstanceService>();
            container.Register <ISysImageListService, SysImageListService>(LifeCycle.Transient);
            // UI: WinForms
            container.Register <ICheckAvailabilityWindow, CheckAvailabilityForm>(LifeCycle.Transient);
            container.Register <IAboutView, AboutForm>(LifeCycle.Transient);
            container.Register <IFilterView, FilterView>(LifeCycle.Transient);
            container.Register <IPanelView, PanelView>(LifeCycle.Transient);
            container.Register <IEditView, EditForm>(LifeCycle.Transient);
            container.Register <IMainView, MainForm>();
            container.Register <IPagesView, PagesView>();
            container.Register <IAddonManager, AddonManagerImpl>();
            container.Register <IImageManager, ImageManagerImpl>();
            container.Register <IAppPresenter, AppPresenter>();
            container.Register <IWaitingService, WaitingServiceImpl>();
            container.Register <IClipboardService, ClipboardServiceImpl>();
            container.Register <IScreenService, ScreenImpl>();
            container.Register <IMessageBoxService, MessageBoxServiceImpl>();
            return(container);
        }