public void ConstrainsForOpenGenerics(IContainerAdapter adapter)
        {
            adapter.RegisterTransient(typeof(IGenericService<>), typeof(GenericService<>));
            adapter.RegisterTransient(typeof(IGenericService<>), typeof(GenericServiceWithIService2Constraint<>));
            var resolved = adapter.ResolveAll<IGenericService<IndependentService>>().ToArray();

            Assert.Equal(1, resolved.Length);
            Assert.IsType<GenericService<IndependentService>>(resolved[0]);
        }
Пример #2
0
        public void ConstrainsForOpenGenerics(IContainerAdapter adapter)
        {
            adapter.RegisterTransient(typeof(IGenericService <>), typeof(GenericService <>));
            adapter.RegisterTransient(typeof(IGenericService <>), typeof(GenericServiceWithIService2Constraint <>));
            var resolved = adapter.ResolveAll <IGenericService <IndependentService> >().ToArray();

            Assert.Equal(1, resolved.Length);
            Assert.IsType <GenericService <IndependentService> >(resolved[0]);
        }
        public void OpenGenericTypes(IContainerAdapter adapter)
        {
            adapter.RegisterTransient(typeof(IGenericService<>), typeof(GenericService<>));
            var resolved = adapter.Resolve<IGenericService<int>>();

            Assert.NotNull(resolved);
        }
Пример #4
0
        public void OpenGenericTypes(IContainerAdapter adapter)
        {
            adapter.RegisterTransient(typeof(IGenericService <>), typeof(GenericService <>));
            var resolved = adapter.Resolve <IGenericService <int> >();

            Assert.NotNull(resolved);
        }
Пример #5
0
        public void TransientLifetime(IContainerAdapter adapter)
        {
            adapter.RegisterTransient <IService, IndependentService>();
            var instance1 = adapter.Resolve <IService>();
            var instance2 = adapter.Resolve <IService>();

            Assert.NotSame(instance1, instance2);
        }
Пример #6
0
        public void TransientFactoryUsedBySingletonStillCreatesTransient(IContainerAdapter adapter)
        {
            adapter.RegisterTransient <IService, IndependentService>();
            adapter.RegisterSingleton <ServiceWithFuncConstructorDependency>();

            var service = adapter.Resolve <ServiceWithFuncConstructorDependency>();
            var first   = service.Factory();
            var second  = service.Factory();

            Assert.NotSame(first, second);
        }
Пример #7
0
 public static void RegisterType <TService>(this IContainerAdapter container)
 {
     container.RegisterTransient <TService, TService>();
 }
Пример #8
0
 public static void RegisterTransient <TService, TImplementation>(this IContainerAdapter container)
     where TImplementation : TService
 {
     container.RegisterTransient(typeof(TService), typeof(TImplementation));
 }
Пример #9
0
        public void TransientLifetime(IContainerAdapter adapter)
        {
            adapter.RegisterTransient<IService, IndependentService>();
            var instance1 = adapter.Resolve<IService>();
            var instance2 = adapter.Resolve<IService>();

            Assert.NotSame(instance1, instance2);
        }
Пример #10
0
        public void TransientFactoryUsedBySingletonStillCreatesTransient(IContainerAdapter adapter)
        {
            adapter.RegisterTransient<IService, IndependentService>();
            adapter.RegisterSingleton<ServiceWithFuncConstructorDependency>();

            var service = adapter.Resolve<ServiceWithFuncConstructorDependency>();
            var first = service.Factory();
            var second = service.Factory();

            Assert.NotSame(first, second);
        }