Exemple #1
0
        protected void ResolveComponentByName(Func <IContainerManager> containerManagerFunc)
        {
            IContainerManager containerManager = containerManagerFunc();
            IDependantClass   dependency       = containerManager.Resolve <IDependantClass>("DependentClass2");

            Assert.IsNotNull(dependency);
            Assert.AreEqual(typeof(DependantClass2), dependency.GetType());
        }
Exemple #2
0
        protected void ResolveComponentWithNameAndParameters(Func <IContainerManager> containerManagerFunc)
        {
            IContainerManager containerManager = containerManagerFunc();
            IDependantClass   dependency       = containerManager.Resolve <IDependantClass>("DependentClass2", new Dictionary <string, object>());

            Assert.IsNotNull(dependency);
            Assert.AreEqual(typeof(DependantClass2), dependency.GetType());
        }
        public void UseExternalContainer()
        {
            ContainerBuilder builder = new ContainerBuilder();

            builder.RegisterType <DependantClass2>().As <IDependantClass>();
            ContainerManager containerManager = new ContainerManager(new AutofacContainerAdapter(builder.Build()));
            IDependantClass  dependency       = containerManager.Resolve <IDependantClass>();

            Assert.IsNotNull(dependency);
            Assert.AreEqual(typeof(DependantClass2), dependency.GetType());
        }
        public void UseExternalContainer()
        {
            IUnityContainer container = new UnityContainer();

            container.RegisterType(typeof(IDependantClass), typeof(DependantClass));
            string            containerKey     = Guid.NewGuid().ToString();
            IContainerManager containerManager = new ContainerManager(new UnityContainerAdapter(containerKey, container));
            IDependantClass   dependency       = containerManager.Resolve <IDependantClass>();

            Assert.IsNotNull(dependency);
            Assert.AreEqual(typeof(DependantClass), dependency.GetType());
        }
Exemple #5
0
        public void UseExternalContainer()
        {
            IWindsorContainer container = new WindsorContainer();

            container.Register(Component.For <IDependantClass>().ImplementedBy <DependantClass>());
            string            containerKey     = Guid.NewGuid().ToString();
            IContainerManager containerManager = new ContainerManager(new WindsorContainerAdapter(containerKey, container));
            IDependantClass   dependency       = containerManager.Resolve <IDependantClass>();

            Assert.IsNotNull(dependency);
            Assert.AreEqual(typeof(DependantClass), dependency.GetType());
        }
Exemple #6
0
        public void UseExternalContainer()
        {
            IContainer container = new Container();

            container.Configure(x => x.For <IDependantClass>().Use <DependantClass>());
            string           containerKey     = Guid.NewGuid().ToString();
            ContainerManager containerManager = new ContainerManager(new StructureMapContainerAdapter(containerKey, container));
            IDependantClass  dependency       = containerManager.Resolve <IDependantClass>();

            Assert.IsNotNull(dependency);
            Assert.AreEqual(typeof(DependantClass), dependency.GetType());
        }
Exemple #7
0
        public void ResolveItemByInterfaceOnly()
        {
            ContainerManager containerManager = new ContainerManager(TestConstants.WindsorContainerName);
            IDependantClass  dependency       = containerManager.Resolve <IDependantClass>();

            Assert.IsNotNull(dependency);
            Assert.AreEqual(typeof(DependantClass), dependency.GetType());

            ContainerManager unityContainerManager = new ContainerManager(TestConstants.UnityContainerName);
            IDependantClass  unityDependency       = unityContainerManager.Resolve <IDependantClass>();

            Assert.AreEqual(typeof(DependantClass), unityDependency.GetType());
        }
Exemple #8
0
        protected void TestMultipleSimpleRegistrationsResolvesFirst(Func <IContainerAdapter> adapterFunc)
        {
            IContainerManager containerManager = new ContainerManager(adapterFunc());

            Assert.IsNull(containerManager.TryResolve <IDependantClass>());

            containerManager.Adapter.Register <IDependantClass, DependantClass2>();
            containerManager.Adapter.Register <IDependantClass, DependantClass>();
            IDependantClass dependantClass = containerManager.Resolve <IDependantClass>();

            Assert.IsNotNull(dependantClass);
            Assert.AreEqual(typeof(DependantClass2), dependantClass.GetType());
        }
Exemple #9
0
        protected void CanRegisterGroup(Func <IContainerAdapter> adapterFunc)
        {
            IContainerManager containerManager = new ContainerManager(adapterFunc());

            Assert.IsNull(containerManager.TryResolve <IDependantClass>());

            IContainerManagerGroupRegistration groupRegistration = new TestGroupRegistration();

            containerManager.Adapter.RegisterGroup(groupRegistration);

            IDependantClass dependantClass = containerManager.Resolve <IDependantClass>();

            Assert.IsNotNull(dependantClass);
            Assert.AreEqual(typeof(DependantClass), dependantClass.GetType());
        }
Exemple #10
0
        protected void CanRegisterByName(Func <IContainerAdapter> adapterFunc)
        {
            IContainerManager containerManager = new ContainerManager(adapterFunc());

            const string dependencyName = "dependantReg";

            containerManager.Adapter.Register <IDependantClass, DependantClass>();
            containerManager.Adapter.Register <IDependantClass, DependantClass2>(dependencyName);
            IDependantClass dependantClass = containerManager.Resolve <IDependantClass>();

            Assert.IsNotNull(dependantClass);

            IDependantClass dependantClass2 = containerManager.Resolve <IDependantClass>(dependencyName);

            Assert.IsNotNull(dependantClass2);
            Assert.AreEqual(typeof(DependantClass2), dependantClass2.GetType());
            Assert.AreEqual(TestConstants.DependantClassName, dependantClass.Name);
            Assert.AreEqual(TestConstants.DependantClass2Name, dependantClass2.Name);
        }