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());
        }
Пример #4
0
        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);
        }
Пример #5
0
        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());
        }
Пример #6
0
        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");
        }