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); }
public void should_resolve_object() { var container = new SimpleIocContainer(); container.Register <ITypeToResolve, ConcreteType>(); object instance = container.Resolve(typeof(ITypeToResolve)); Assert.IsInstanceOf <ConcreteType>(instance); }
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)); }
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)); }
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>(); }
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>(); }
/// <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); }