private void InitializeContainer(IoCContainer container) { container.Register<IMenuViewModel, MenuViewModel>(); container.Register<IMainViewModel, MainViewModel>(); container.Register<IRoomViewModel, RoomViewModel>(); container.Register<IRoomFactory, RoomFactory>(); }
public static IIoCContainer Build() { IIoCContainer container = new IoCContainer(); container.Register <IBaseViewModel, SensorPageViewModel>(); container.Register <INavService, NavService>(); return(container); }
public void RegisterDuplicateType() { using (IoCContainer container = new IoCContainer()) { container.Register <IRepository, Repository>(); Assert.Throws(typeof(InvalidOperationException), () => container.Register <IRepository, Repository>()); } }
public void RegisterDuplicateType() { using (IoCContainer container = new IoCContainer()) { container.Register<IRepository, Repository>(); Assert.Throws(typeof(InvalidOperationException), () => container.Register<IRepository, Repository>()); } }
public static IIoCContainer Build() { IIoCContainer container = new IoCContainer(); container.Register <IBaseViewModel, RegistrationViewModel>(); container.Register <INavService, NavService>(); container.Register <IFileOperation, FileOperation>(); container.Register <ICache, CacheImpl>(); container.Register <IWebHelper, WebHelper>(); return(container); }
public static IIoCContainer Build() { IIoCContainer container = new IoCContainer(); container.Register <IBaseViewModel, FirstPageViewModel>(); //container.Register<ISensorService, SensorService>(); container.Register <INavService, NavService>(); container.Register <ICache, CacheImpl>(); container.Register <IWebHelper, WebHelper>(); return(container); }
public void should_resolve_object_with_registered_constructor_parameters() { var container = new IoCContainer(); container.Register <ITypeToResolve, ConcreteType>(); container.Register <ITypeToResolveWithConstructorParams, ConcreteTypeWithConstructorParams>(); var instance = container.Resolve <ITypeToResolveWithConstructorParams>(); Assert.ReferenceEquals(instance, typeof(ConcreteTypeWithConstructorParams)); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var container = new IoCContainer(); container.Register<ICustomerRepository, CustomerXmlRepository>(); container.Register<ICustomerView, CustomerForm>(); var view = container.Resolve<ICustomerView>(); var presenter = new CustomerPresenter(view, container.Resolve<ICustomerRepository>()); Application.Run((Form) view); }
public void InjectWithDependenciesShouldWorksWell() { // GIVEN IoCContainer container = new IoCContainer(); // WHEN container.Register <Test>(CreationPattern.SingleImmediatly); container.Register <TestWithDep>(CreationPattern.SingleImmediatly); Action create = () => container.Get <TestWithDep>(); // THEN create.ShouldNotThrow(); }
public void InjectAttributeByNameShouldWorksWell() { // GIVEN IoCContainer container = new IoCContainer(); // WHEN container.Register <Test>("some", CreationPattern.CreateOnGet); container.Register <Test>("someother", CreationPattern.CreateOnGet); container.Register <TestOther>(CreationPattern.CreateOnGet); container.Register <TestWithDepByName>(CreationPattern.SingleOnCall); Action create = () => container.Get <TestWithDepByName>(); // THEN create.ShouldNotThrow(); }
public void CreateDependentInstance() { var container = new IoCContainer(); container.Register <ICoreCalculator, CoreCalculator>(); container.Register <ICoreValidator>(new CoreValidator(4)); container.Register(CoreConfig.Default); container.Register <ICommandEvents, EmptyCommandEvents>(); var core = container.GetInstance <Core>(); Assert.Null(core.Initializer); Assert.NotNull(core.Events); core.Calculate(4, 6, 5); }
private IServiceProvider InitIoC(IServiceCollection services) { var commandString = Configuration.GetConnectionString("CommandDB"); var queryString = Configuration.GetConnectionString("QueryDB"); var connectionConfig = new ConnectionConfig() { ConnectionString = commandString, DbType = DbType.SqlServer, IsAutoCloseConnection = false, InitKeyType = InitKeyType.Attribute, // Attribute用于DbFirst 从数据库生成model的 //InitKeyType = InitKeyType.SystemTable, //SystemTable用于Codefirst 从model库生成数据库表的 SlaveConnectionConfigs = new List <SlaveConnectionConfig>() { new SlaveConnectionConfig() { HitRate = 10, ConnectionString = queryString } } }; SqlSugarClient sqlSugarClient = new SqlSugarClient(connectionConfig); IoCContainer.Register(Configuration); //注册配置 IoCContainer.Register(sqlSugarClient); //注册数据库配置信息 // IoCContainer.Register(typeof(DBService)); IoCContainer.Register(typeof(BaseRepository <>).Assembly, "Repository"); //注册仓储 IoCContainer.Register(typeof(BaseService).Assembly, "Service"); IoCContainer.Register(typeof(BaseRepository <>), typeof(IRepository <>)); return(IoCContainer.Build(services)); }
/// <summary> /// IoC初始化 /// </summary> /// <param name="services"></param> /// <returns></returns> private IServiceProvider InitIoC(IServiceCollection services) { var connectionString = Configuration.GetConnectionString("MsSqlServer"); var dbContextOption = new DbContextOption { ConnectionString = connectionString, ModelAssemblyName = "Zxw.Framework.Website.Models", DbType = DbType.MSSQLSERVER }; var codeGenerateOption = new CodeGenerateOption { ModelsNamespace = "Zxw.Framework.Website.Models", IRepositoriesNamespace = "Zxw.Framework.Website.IRepositories", RepositoriesNamespace = "Zxw.Framework.Website.Repositories", IServicsNamespace = "Zxw.Framework.Website.IServices", ServicesNamespace = "Zxw.Framework.Website.Services" }; IoCContainer.Register(Configuration); //注册配置 IoCContainer.Register(dbContextOption); //注册数据库配置信息 IoCContainer.Register(codeGenerateOption); //注册代码生成器相关配置信息 IoCContainer.Register(typeof(DefaultDbContext)); //注册EF上下文 IoCContainer.Register("Zxw.Framework.Website.Repositories", "Zxw.Framework.Website.IRepositories"); //注册仓储 IoCContainer.Register("Zxw.Framework.Website.Services", "Zxw.Framework.Website.IServices"); //注册service return(IoCContainer.Build(services)); }
static void InitIoC() { var dbContextOption = new DbContextOption { ConnectionString = ConfigHelper.GetConnectionString("mssqlserver"), ModelAssemblyName = "Zxw.Framework.Sample.Models" }; var codeGenerateOption = new CodeGenerateOption { ModelsNamespace = "Zxw.Framework.Sample.Models", IRepositoriesNamespace = "Zxw.Framework.Sample.IRepositories", RepositoriesNamespace = "Zxw.Framework.Sample.Repositories", IServicsNamespace = "Zxw.Framework.Sample.IServices", ServicesNamespace = "Zxw.Framework.Sample.Services" }; IoCContainer.Register(dbContextOption); IoCContainer.Register(codeGenerateOption); IoCContainer.Register <DefaultDbContext>(); #region 此段代码在Repository和Service层代码生成之后再启用 //IoCContainer.RegisterImplementationAssemblyAsInterface("Zxw.Framework.Sample.Repositories", "Zxw.Framework.Sample.IRepositories"); //IoCContainer.RegisterImplementationAssemblyAsInterface("Zxw.Framework.Sample.Services", "Zxw.Framework.Sample.IServices"); #endregion IoCContainer.Build(); }
private static void SetupIoCContainer() { Resolver = new IoCContainer(); _log = new Log(Paths.Resolve(Paths.LogPath)); _log.BigDivider(); _log.Info("Application startup"); _settings = new Settings(_log); _db = new DataBase(Paths.Resolve(Paths.DBPath)); API.SettingsBinding.Settings = _settings; Resolver.Register <ILog>(() => _log); Resolver.Register <ISettings>(() => _settings); Resolver.Register <IDataBase>(() => _db); }
public void IsRegistered_WithId_ReturnsTrue() { var c = new IoCContainer(); var Id = "Testing"; c.Register<ITestInterface, CustomeTestClass> (Id); Assert.AreEqual (c.IsRegistered (Id), true); }
protected void Application_Start() { if (AppSettings.DebugMode) { // инициализация профайлера NHibernate HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize(); } ModelBinders.Binders.DefaultBinder = new BizpulseModelBinder(); //Обрезает пробелы в начале и конце строки // регистрация глобальных фильтров действий контроллеров RegisterGlobalFilters(GlobalFilters.Filters); // регистрация маршрутов RegisterRoutes(RouteTable.Routes); // регистрация фабрики контроллеров RegisterControllerFactory(); // регистрация репозиториев RegisterRepositories(); // регистрация служб RegisterServices(); // регистрация фабрики UOW IoCContainer.Register <IUnitOfWorkFactory>(new NHibernateUnitOfWorkFactory()); // регистрация INHibernateSingleDBInitializer IoCContainer.Register <INHibernateSingleDBInitializer>(new FluentInitializer()); }
/// <summary> /// IoC初始化 /// </summary> /// <param name="services"></param> /// <returns></returns> private IServiceProvider InitIoC(IServiceCollection services) { //var connectionString = Configuration.GetConnectionString("MsSqlServer"); //var dbContextOption = new DbContextOption //{ // ConnectionString = connectionString, // ModelAssemblyName = "Website.Models", // DbType = DbType.MSSQLSERVER //}; //var codeGenerateOption = new CodeGenerateOption //{ // ModelsNamespace = "Website.Models", // IRepositoriesNamespace = "Website.IRepositories", // RepositoriesNamespace = "Website.Repositories", // IServicsNamespace = "Website.IServices", // ServicesNamespace = "Website.Services" //}; IoCContainer.Register(Configuration);//注册配置 //IoCContainer.Register(dbContextOption);//注册数据库配置信息 //IoCContainer.Register(codeGenerateOption);//注册代码生成器相关配置信息 //IoCContainer.Register(typeof(DefaultDbContext));//注册EF上下文 //IoCContainer.Register("Website.Repositories", "Website.IRepositories");//注册仓储 //IoCContainer.Register("Website.Services", "Website.IServices");//注册service return(IoCContainer.Build(services)); }
/// <summary> /// IoC初始化 /// </summary> /// <param name="services"></param> /// <returns></returns> private IServiceProvider InitIoC(IServiceCollection services) { //var connectionString = Configuration.GetConnectionString("PostgreSQL"); //var dbContextOption = new DbContextOption //{ // ConnectionString = connectionString, // ModelAssemblyName = "Zxw.Framework.Website.Models", // DbType = DbType.NPGSQL //}; //var codeGenerateOption = new CodeGenerateOption //{ // ModelsNamespace = "Zxw.Framework.Website.Models", // IRepositoriesNamespace = "Zxw.Framework.Website.IRepositories", // RepositoriesNamespace = "Zxw.Framework.Website.Repositories", // IServicsNamespace = "Zxw.Framework.Website.IServices", // ServicesNamespace = "Zxw.Framework.Website.Services" //}; //IoCContainer.Register(Configuration);//注册配置 //IoCContainer.Register(dbContextOption);//注册数据库配置信息 //IoCContainer.Register(codeGenerateOption);//注册代码生成器相关配置信息 //IoCContainer.Register(typeof(DefaultDbContext));//注册EF上下文 IoCContainer.Register("WebApplication3.Framework.Repositorys", "WebApplication3.Framework.IRepositorys");//注册仓储 //IoCContainer.Register("Zxw.Framework.Website.Services", "Zxw.Framework.Website.IServices");//注册service return(IoCContainer.Build(services)); }
public void SingleTaskWithActionsShouldWorksWell() { // GIVEN mLogs.Logs.Clear(); var injectionProvider = new IoCContainer(); injectionProvider.Register <TestMultiplicatorStep>(); Contracts.Dependencies.Injection.RegisterInjectionProvider(injectionProvider, false); PipelineBlueprint blueprint = PipelineBlueprint.CreateBlueprint(typeof(int), "SingleApply"); PipelineBlueprint blueprintOther = PipelineBlueprint.CreateBlueprint(typeof(int), "DoubleApply"); // WHEN TransferingContext tctx = new TransferingContext(new Headers { { "factor", 10 } }.Dict); new Pipeline(blueprint .Apply <TestMultiplicatorStep>("multiplyby2") .Apply <TestMultiplicatorStep>("sync_mbf")) .Process(tctx, 1).Wait(); TransferingContext otherTctx = new TransferingContext(new Headers { { "factor", 10 } }.Dict); new Pipeline(blueprintOther .Apply <TestMultiplicatorStep>("sync_mbf") .Apply <TestMultiplicatorStep>("multiplyby2") .Apply <TestMultiplicatorStep>("sync_mbf")) .Process(otherTctx, 1).Wait(); // THAN tctx.GetResult <int>().Should().Be(20); otherTctx.GetResult <int>().Should().Be(200); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc(); IoCContainer.Register <MyService, MyService>(); IoCContainer.Register <MyRepository, MyRepository>(); services.AddSingleton <IoCContainer>(); services.AddSingleton <IControllerActivator>(new ControllerActivator()); }
public void RegisterTypeWithParameters() { using (IoCContainer container = new IoCContainer()) { container.Register <IRepository, Repository>(); container.Register <IEmailService, EmailService>(); container.Register <IController, UserController>(); IController controller = container.Resolve <IController>(); Assert.IsTrue(controller is UserController); UserController user = (UserController)controller; Assert.IsNotNull(user.EmailService); Assert.IsNotNull(user.Repository); } }
public void should_resolve_object() { var container = new IoCContainer(); container.Register <ITypeToResolve, ConcreteType>(); var instance = container.Resolve <ITypeToResolve>(); Assert.ReferenceEquals(instance, typeof(ConcreteType)); }
public void can_create_transient_instance() { var container = new IoCContainer(); container.Register <ITypeToResolve, ConcreteType>(LifeCycle.Transient); var instance = container.Resolve <ITypeToResolve>(); Assert.ReferenceEquals(container.Resolve <ITypeToResolve>(), instance); }
public void ConveyorWithPipelineCallShouldWorksWell() { Stopwatch timer = Stopwatch.StartNew(); // GIVEN var injectionProvider = new IoCContainer(); var listCollector = new ListCollector(); injectionProvider.RegisterSingle(new List <int> { 1, 2, 3, 4, 5 }); injectionProvider.Register <TestIntSource>(); injectionProvider.Register <TestMultiplicatorStep>(); injectionProvider.Register <TestPipelinesBuilder>(); injectionProvider.RegisterSingle(listCollector); Contracts.Dependencies.Injection.RegisterLogger(mLogger); Contracts.Dependencies.Injection.RegisterInjectionProvider(injectionProvider, false); var count = 10; var range = Enumerable.Range(1, count).ToList(); var builder = new TestPipelinesBuilder(); // WHEN var countFinalizer = new CountFinalizer(count); Conveyor.Init(mLogger) .WithBlueprint(builder.CreateIntMultPipeline()) .WithBlueprint(builder.CreatePipelineWithCallOfAnother()) .WithPipelineFinalizer("TestPipelineWithCallOfAnother", countFinalizer.Finalization) .WithSupplier("IntsSupplier", new LabeledIntSupplier(range, "TestPipelineWithCallOfAnother")) .Start(); countFinalizer.GetWaitTask().Wait(); // THEN listCollector.Lists.Count.Should().Be(count, "All lists should be added to list collector"); listCollector.Lists.Values.ToList().ForEach(el => el.ShouldAllBeEquivalentTo(new List <int> { 2, 4, 6, 8, 10 })); listCollector.Lists.Keys.ToList().ShouldBeEquivalentTo(range.Select(el => $"id:{el}").ToList()); timer.Stop(); }
public void should_create_singleton_instance_by_default() { var container = new IoCContainer(); container.Register <ITypeToResolve, ConcreteType>(); var instance = container.Resolve <ITypeToResolve>(); Assert.ReferenceEquals(container.Resolve <ITypeToResolve>(), instance); }
private void InitializeIoCContainer() { IoC = new IoCContainer(); IoC.Register <ILoggerService, Logger>(LifeTimeOptions.ContainerControlledLifeTimeOption); IoC.Register <IFileAndFolderServices, FileAndFolderServices>(); IoC.Register <INetworkServices, NetworkServices>(); IoC.Register <IPsExecServices, PsExecServices>(); IoC.Register <IWmiServices, WmiServices>(); IoC.Register <ISccmClientServices, SccmClientServices>(); IoC.Register <IRegistryServices, RegistryServices>(); IoC.Register <IWindowService, WindowService>(); }
public App() { InitializeComponent(); IoCContainer.Register(); MainPage = new NavigationPage(Mvx.IocConstruct <RepositoriesView>()) { BarTextColor = Color.White, BarBackgroundColor = Color.Teal }; }
/// <summary> /// IoC初始化 /// </summary> /// <param name="services"></param> /// <returns></returns> private IServiceProvider InitIoC(IServiceCollection services) { IoCContainer.Register(new Dictionary <string, string>() { { "DotNetCore.Service", "Service" } }); //IoCContainer.Register<IDemoService, DemoService>(); IoCContainer.Register <IEmailSender, AuthMessageSender>(); IoCContainer.Register <ISmsSender, AuthMessageSender>(); return(IoCContainer.Build(services)); }
public void InjectByNameShouldWorksWell() { // GIVEN IoCContainer container = new IoCContainer(); // WHEN container.Register <Test>("test", CreationPattern.SingleImmediatly); Action create = () => container.Get <Test>("test"); // THEN create.ShouldNotThrow(); }
public void Register_GenericTypesWithNoId_WillbeAddedToTheList() { var c = new IoCContainer(); c.Register<ITestInterface, CustomeTestClass> (); Assert.AreEqual (c.RegisteredObjects.Count, 1); Assert.IsInstanceOfType(typeof(IocRegister),c.RegisteredObjects.First()); Assert.AreEqual(c.RegisteredObjects.First().FromType, typeof(ITestInterface)); Assert.AreEqual(c.RegisteredObjects.First().ToType, typeof(CustomeTestClass)); Assert.AreEqual(c.RegisteredObjects.First().Id, String.Empty); }
public void Resolve() { using (IoCContainer container = new IoCContainer()) { container.Register <IRepository, Repository>(); var result = container.Resolve <IRepository>(); Assert.IsTrue(result is IRepository); Assert.IsTrue(result is Repository); } }
public CriteriaTest() { repository = new Mock <BaseRepository>(); HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter())); var sessionManager = (new NHibernateSessionManager() as ISessionManager); IoCContainer.Register <INHibernateInitializer>(new FluentInitializer()); sessionManager.CreateSession("(local)", "wholesale_000001"); session = NHibernateSessionManager.CurrentSession; }
public static void Startup(Func <IPageFetcher> pageFetcherCreator, Func <IPageProcessor> pageProcessorCreator, Func <IPostRepository> postRepositoryCreator, Func <IRunningInfoRepository> runningInfoRepositoryCreator) { Container.Register <IPageFetcher>(pageFetcherCreator). Register <IPageProcessor>(pageProcessorCreator). Register <IPostRepository>(postRepositoryCreator). Register <IRunningInfoRepository>(runningInfoRepositoryCreator); _pageFetcher = Container.Create <IPageFetcher>(); _pageProcessor = Container.Create <IPageProcessor>(); _postRepository = Container.Create <IPostRepository>(); _runningInfoRepository = Container.Create <IRunningInfoRepository>(); }
public void SimpleConveyorShouldWorksWell() { // GIVEN var injectionProvider = new IoCContainer(); var listCollector = new ListCollector(); injectionProvider.RegisterSingle(new List <int> { 1, 2, 3, 4, 5 }); injectionProvider.Register <TestIntSource>(); injectionProvider.Register <TestMultiplicatorStep>(); injectionProvider.Register <TestPipelinesBuilder>(); injectionProvider.RegisterSingle(listCollector); Contracts.Dependencies.Injection.RegisterLogger(mLogger); Contracts.Dependencies.Injection.RegisterInjectionProvider(injectionProvider, false); var range = new List <int> { 1, 2, 3, 4, 5, 6, 7 }; // WHEN var countFinalizer = new CountFinalizer(range.Count); Conveyor.Init(mLogger) .ScanForBlueprints() .WithSupplier("IntsSupplier", new IntSupplier(range)) .WithFinalizer(countFinalizer) .Start(); countFinalizer.GetWaitTask().Wait(); // THEN listCollector.Lists.Count.Should().Be(7, "All lists should be added to list collector"); listCollector.Lists.Values.ToList().ForEach(el => el.ShouldAllBeEquivalentTo(new List <int> { 2, 4, 6, 8, 10 })); listCollector.Lists.Keys.ShouldBeEquivalentTo(range.Select(el => $"id:{el}")); }
public void RegisterSingletonType() { using (IoCContainer container = new IoCContainer()) { container.Register<IRepository, Repository>(new SingletonLifeCycle()); DateTime created = container.Resolve<IRepository>().CreationTime; // sleep for a time to ensure dates change on creation Thread.Sleep(1); Assert.IsTrue(created == container.Resolve<IRepository>().CreationTime); } }
public void RegisterTransientTypeImplicit() { using (IoCContainer container = new IoCContainer()) { container.Register<IRepository, Repository>(); DateTime created = container.Resolve<IRepository>().CreationTime; // sleep for a time to ensure dates change on creation Thread.Sleep(1); Assert.IsFalse(created == container.Resolve<IRepository>().CreationTime); } }
public void OnLoad(IoCContainer container) { container.Register<IArtworkStorageAdapter<Bitmap>, ArtworkBitmapAdapter>(); container.Register<IAnimationStorageAdapter<Bitmap>, AnimationBitmapStorageAdapter>(); container.Register<IASCIIFontStorageAdapter<Bitmap>, ASCIIFontBitmapAdapter>(); container.Register<IGumpStorageAdapter<Bitmap>, GumpBitmapAdapter>(); container.Register<ITexmapStorageAdapter<Bitmap>, TexmapBitmapAdapter>(); container.Register<IUnicodeFontStorageAdapter<Bitmap>, UnicodeFontBitmapAdapter>(); }
static void Main() { #if DEBUG new DebugTraceListener { TraceLevel = TraceLevels.Verbose }; #endif IoCContainer container = new IoCContainer(); container.RegisterModule<OpenUO.Ultima.UltimaSDKCoreModule>(); container.RegisterModule<OpenUO.Ultima.Windows.Forms.UltimaSDKBitmapModule>(); container.Register<SampleForm>(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(container.Resolve<SampleForm>()); }
public void RegisterTypeWithParametersNoRegistered() { using (IoCContainer container = new IoCContainer()) { container.Register<IController, UserController>(); IController controller = container.Resolve<IController>(); Assert.IsTrue(controller is UserController); UserController user = (UserController)controller; Assert.IsNull(user.EmailService); Assert.IsNull(user.Repository); } }
private void buttonNotes_Click(object sender, EventArgs e) { var container = new IoCContainer(); container.Register<INoteRepository, NoteFileRepository>(); container.Register<INoteView, NoteForm>(); var view = container.Resolve<INoteView>(); var presenter = new NotePresenter(view, container.Resolve<INoteRepository>()); ((Form) view).ShowDialog(); }
public void RegisterType() { try { using (IoCContainer container = new IoCContainer()) { container.Register<IRepository, Repository>(); } } catch { Assert.Fail(); } }
private void InitializeIoCContainer() { IoC = new IoCContainer(); IoC.Register<ILoggerService, Logger>(LifeTimeOptions.ContainerControlledLifeTimeOption); IoC.Register<IFileAndFolderServices, FileAndFolderServices>(); IoC.Register<INetworkServices, NetworkServices>(); IoC.Register<IPsExecServices, PsExecServices>(); IoC.Register<IWmiServices, WmiServices>(); IoC.Register<ISccmClientServices, SccmClientServices>(); IoC.Register<IXmlServices, XmlServices>(); IoC.Register<IRegistryServices, RegistryServices>(); }
public void Resolve() { using (IoCContainer container = new IoCContainer()) { container.Register<IRepository, Repository>(); var result = container.Resolve<IRepository>(); Assert.IsTrue(result is IRepository); Assert.IsTrue(result is Repository); } }
public void OnLoad(IoCContainer container) { container.Register<IAnimationDataStorageAdapter<AnimationData>, AnimationDataStorageAdapter>(); container.Register<ISkillStorageAdapter<Skill>, SkillStorageAdapter>(); container.Register<ISoundStorageAdapter<Sound>, SoundStorageAdapter>(); }
public void Register_WithGenericTypesAndNoDelegatAndNoIdCalledTwice_WillThrowAnException() { var c = new IoCContainer(); c.Register<ITestInterface, CustomeTestClass> (); c.Register<ITestInterface, CustomeTestClass> (); }
public void Register_WithGenericTypesAndDelegatAndId_WillBeAddedToTheList() { var c = new IoCContainer(); var Id = "Testing"; c.Register<ITestInterface, CustomeTestClass>(() => {return new CustomeTestClass();}, Id); Assert.AreEqual (c.RegisteredObjects.Count, 1); Assert.IsInstanceOfType(typeof(IocRegister),c.RegisteredObjects.First()); Assert.AreEqual(c.RegisteredObjects.First().FromType, typeof(ITestInterface)); Assert.AreEqual(c.RegisteredObjects.First().ToType, typeof(CustomeTestClass)); Assert.AreEqual(c.RegisteredObjects.First().Id, Id); }
public void Register_WithTypesAndNoId_WillbeAddedToTheList() { var c = new IoCContainer(); c.Register(typeof(ITestInterface), typeof(CustomeTestClass)); Assert.AreEqual (c.RegisteredObjects.Count, 1); Assert.IsInstanceOfType(typeof(IocRegister),c.RegisteredObjects.First()); Assert.AreEqual(c.RegisteredObjects.First().FromType, typeof(ITestInterface)); Assert.AreEqual(c.RegisteredObjects.First().ToType, typeof(CustomeTestClass)); }
public void Resolve_WithIdAndToType_ReturnsObject() { var c = new IoCContainer(); var Id = "Testing"; c.Register<ITestInterface, CustomeTestClass> (Id); Assert.IsInstanceOfType (typeof(CustomeTestClass), c.Resolve(typeof(CustomeTestClass), Id)); }
public void Resolve_WithNoIdAndFromType_ReturnsObject() { var c = new IoCContainer(); c.Register<ITestInterface, CustomeTestClass> (); Assert.IsInstanceOfType (typeof(ITestInterface), c.Resolve<ITestInterface>()); }
public void Register_WithGenericTypesAndDelegatAndIdCalledTwice_WillThrowAnException() { var c = new IoCContainer(); var Id = "Testing"; c.Register<ITestInterface, CustomeTestClass> (() => { return new CustomeTestClass (); }, Id); c.Register<ITestInterface, CustomeTestClass> (() => { return new CustomeTestClass (); }, Id); }
public void IsRegistered_WithNoIdAndTypes_ReturnsTrue() { var c = new IoCContainer(); c.Register<ITestInterface, CustomeTestClass> (); Assert.AreEqual (c.IsRegistered<ITestInterface, CustomeTestClass>(), true); }