public void ImplementationMethodFromInjector_Test() { var container = new ServiceContext(); container.AddType <IService, Service>(); var resolver = container.Build(); var service = resolver.Resolve <IService>(); var val = service.GetValue("le"); Assert.Equal("lemon", val); }
public void Class_Proxy() { var serviceContainer = new ServiceContext(); ConfigureServiceInternal(serviceContainer); var resolver = serviceContainer.Build(); var transient = resolver.Resolve <ProxyTransient>(); Assert.True(transient.IsProxy()); }
public void Interface_Proxy() { var serviceContainer = new ServiceContext(); serviceContainer.AddType <IProxyTransient, ProxyTransient>(); var resolver = serviceContainer.Build(); var transient = resolver.Resolve <IProxyTransient>(); Assert.True(transient.IsProxy()); }
public void Replace_IServiceProvider() { var services = new ServiceContext(); services.Transients.AddType <IServiceProvider, ServiceProvider>(); var resolver = services.Build(); var serviceProvider = resolver.Resolve <IServiceProvider>(); Assert.NotEqual(resolver, serviceProvider); Assert.IsType <ServiceProvider>(serviceProvider); }
public void AddDelegateInAspectCore_UseInterceptorInAspectCore_Test() { var serviceContext = new ServiceContext(); serviceContext.AddDelegate <ITaskService, TaskService>(p => new TaskService()); serviceContext.Configuration.Interceptors.AddTyped <Interceptor>(m => true); var container = serviceContext.Build(); var taskService = container.ResolveRequired <ITaskService>(); Assert.Equal(2, taskService.Run()); }
public void Resolve_OptionalDependencyDoesNotExists() { var serviceContext = new ServiceContext(); serviceContext .AddType <Dependency>() .AddType <Service>(); var container = serviceContext.Build(); var service = container.Resolve <Service>(); Assert.True(service.HasDependency); Assert.False(service.HasOptionalDependency); }
public void Resolve_RegisterEnumerable() { var services = new ServiceContext(); services.Transients.AddType <IService, Transient>(); services.Singletons.AddType <IService, Singleton>(); services.Scopeds.AddType <IService, Scoped>(); services.Transients.AddDelegate <IEnumerable <IService> >(r => new IService[] { new Transient(), new Transient(), new Transient(), new Transient() }); var resolver = services.Build(); var enumerable = resolver.Resolve <IEnumerable <IService> >(); Assert.NotNull(enumerable); Assert.Equal(4, enumerable.Count()); }
public void LoadBinding() { var dict = new Dictionary <string, string> { { "creator:age", "24" }, { "creator:name", "lemon" } }; var builder = new ConfigurationBuilder().AddEnvironmentVariables(); builder.AddInMemoryCollection(dict); var configuration = builder.Build(); var container = new ServiceContext(); container.AddInstance <IConfiguration>(configuration); container.AddConfigurationInject(); container.AddType <BindConfigService>(); var service = container.Build().Resolve <BindConfigService>(); Assert.Equal(service.ToString(), "lemon-24"); }