public void AddMapper_ThrowsWithNoInterfaces() { var container = new SimpleIocContainer(); Assert.ThrowsException <InvalidOperationException>( () => NotSoAutoMapperIocContainerUtilities.AddMapper(typeof(object), container.Register)); }
/// <summary> /// Represents the entry point to the application. /// </summary> /// <param name="args">The command line arguments, which should always be empty, since they are not used in the application.</param> public static void Main(string[] args) { // Asks the user to specifiy which IoC container shall be used System.Console.Write("Use 'SimpleIoC' or 'Ninject': "); IIocContainer iocContainer; if (System.Console.ReadLine().ToUpperInvariant() == "NINJECT") iocContainer = new NinjectIocContainer(); else iocContainer = new SimpleIocContainer(); // Binds the vehicles to the kernel iocContainer.RegisterType<IVehicle, Car>(); iocContainer.RegisterType<IVehicle, Motorcycle>(typeof(SuperCoolPerson)); // Obviously super cool people drive motorcycles! // Creates some persons Person person = iocContainer.GetInstance<Person>(); Person superCoolPerson = iocContainer.GetInstance<SuperCoolPerson>(); Person namedPerson = iocContainer.GetInstance<NamedPerson>("Bob"); // Prints out the personal information about the persons that were created System.Console.WriteLine(person); System.Console.WriteLine(superCoolPerson); System.Console.WriteLine(namedPerson); // Waits for a key stroke, before the application is quit System.Console.WriteLine("Press any key to quit..."); System.Console.ReadKey(); }
internal void Configuration(IAppBuilder app) { var config = new HttpConfiguration(); HttpServerConfiguration.Configure(config); Container = (config.DependencyResolver as MyDependencyResolver).GetContainer() as SimpleIocContainer; app.UseWebApi(config); }
public void AddNotSoAutoMapper_AddsRequiredServices() { var container = new SimpleIocContainer(); NotSoAutoMapperIocContainerUtilities.AddNotSoAutoMapper(container.Register); // Yay! }
/// <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); }
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 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 AddMapper_AddsAllInterfaces() { var container = new SimpleIocContainer(); var imapperTypes = new[] { typeof(IMapper <object, int>), typeof(IMapper <double, int>) }; var mapper = Substitute.For(imapperTypes, Array.Empty <object>()); NotSoAutoMapperIocContainerUtilities.AddMapper(mapper.GetType(), container.Register); var expectedRegistrations = imapperTypes.Select(x => (x, mapper.GetType())).ToList(); CollectionAssert.AreEquivalent(expectedRegistrations, container.Registrations); }
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>(); }
static void Main(string[] args) { DataBaseInitializer <TaskContext> .InitializedDatabase(); IContainer container = new SimpleIocContainer(); BootStrapper.Configure(container); ICommandDispatcher commandDispatcher = container.Resolve <ICommandDispatcher>(); IQueryDispatcher queryDispatcher = container.Resolve <IQueryDispatcher>(); var createCommand = new CreateTaskCommand { Title = "CQRS Örneği", UserName = "******", IsCompleted = false, CreatedOn = DateTime.Now, UpdatedOn = DateTime.Now }; commandDispatcher.Execute(createCommand); var getTasksQuery = new GetTasksQuery(); getTasksQuery.Predicate = (t) => t.IsCompleted == false; IQueryable <Task> tasks = queryDispatcher.Query <GetTasksQuery, IQueryable <Task> >(getTasksQuery); Console.WriteLine("Bitmemiş tasklar getiriliyor."); foreach (var task in tasks.ToList()) { Console.WriteLine(task); } var lastTask = tasks.ToList().LastOrDefault(); var changeCommand = new ChangeTaskStatusCommand { TaskId = 24, IsCompleted = true, UpdatedOn = DateTime.Now.AddMinutes(5) }; commandDispatcher.Execute(changeCommand); Console.ReadLine(); }
/// <summary> /// Represents the asynchronous entry point to the application, which allows us to use asynchorous methods. /// </summary> public static async Task MainAsync() { // Asks the user to specify a file name System.Console.Write("Specify file name (default is My Documents): "); string fileName = System.Console.ReadLine(); if (string.IsNullOrWhiteSpace(fileName)) fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Export.pdf"); // Asks the user for his name System.Console.Write("What is your name: "); string documentAuthor = System.Console.ReadLine(); // Creates the report, renders, and exports it System.Console.WriteLine("Generating document..."); IIocContainer iocContainer = new SimpleIocContainer(); ReportingService reportingService = new ReportingService(iocContainer); DocumentFormat documentFormat = Path.GetExtension(fileName).ToUpperInvariant() == ".XPS" ? DocumentFormat.Xps : DocumentFormat.Pdf; await reportingService.ExportAsync<Document>(documentFormat, fileName, string.IsNullOrWhiteSpace(documentAuthor) ? null : new { Author = documentAuthor }); System.Console.WriteLine("Finished generating document"); // Waits for a key stroke, before the application is quit System.Console.WriteLine("Press any key to quit..."); System.Console.ReadKey(); }
public void should_throw_exception_if_type_not_registered() { var container = new SimpleIocContainer(); container.Resolve(typeof(ITypeToResolve)); }