// ===================


        private LifetimeBase TestFactory <T>(LifetimeFactory factory)
        {
            TestInjectionResolver resolver = new TestInjectionResolver();

            var container = factory.Create(typeof(T), resolver, null);

            Assert.AreEqual(typeof(T), container.OutputType);

            var instance = container.GetInstance(resolver);

            Assert.IsNotNull(instance);
            Assert.IsInstanceOfType(instance, typeof(T));

            return(container);
        }
        private void RegisterService(ServiceInfo registration, ContainerBuilder containerBuilder)
        {
            IRegistrationBuilder <object, ConcreteReflectionActivatorData, SingleRegistrationStyle> registrationBuilder = containerBuilder.RegisterType(registration.To);

            if (string.IsNullOrEmpty(registration.ContractName))
            {
                registrationBuilder.As(registration.From);
            }
            else
            {
                registrationBuilder.As(registration.From).WithMetadata("Name", registration.ContractName);
            }

            Action <IRegistrationBuilder <object, ConcreteReflectionActivatorData, SingleRegistrationStyle> > lifetimeBuilder = LifetimeFactory.CreateLifetimeRegistration(registration.InstanceLifetime);

            lifetimeBuilder(registrationBuilder);
        }