Ejemplo n.º 1
0
            public override Object Run()
            {
                SetterInjectionComponentAdapter sica = (SetterInjectionComponentAdapter)ica;

                IParameter[] currentParameters = sica.GetMatchingParameterListForSetters(guardedContainer);
                for (int i = 0; i < currentParameters.Length; i++)
                {
                    currentParameters[i].Verify(guardedContainer, sica, sica.setterTypes[i]);
                }
                return(null);
            }
        public void HybridBeans()
        {
            SetterInjectionComponentAdapter bAdapter     = new SetterInjectionComponentAdapter("b", typeof(B));
            SetterInjectionComponentAdapter cAdapter     = new SetterInjectionComponentAdapter("c", typeof(C));
            SetterInjectionComponentAdapter cNullAdapter = new SetterInjectionComponentAdapter("c0", typeof(C));

            IMutablePicoContainer pico = new DefaultPicoContainer();

            pico.RegisterComponent(bAdapter);
            pico.RegisterComponent(cAdapter);
            pico.RegisterComponent(cNullAdapter);
            pico.RegisterComponentImplementation(typeof(ArrayList));

            C c = (C)cAdapter.GetComponentInstance(pico);

            Assert.IsTrue(c.instantiatedAsBean());
            C c0 = (C)cNullAdapter.GetComponentInstance(pico);

            Assert.IsTrue(c0.instantiatedAsBean());
        }
        public void AllUnsatisfiableDependenciesAreSignalled()
        {
            SetterInjectionComponentAdapter aAdapter = new SetterInjectionComponentAdapter("a", typeof(A));
            SetterInjectionComponentAdapter bAdapter = new SetterInjectionComponentAdapter("b", typeof(B));

            IMutablePicoContainer pico = new DefaultPicoContainer();

            pico.RegisterComponent(bAdapter);
            pico.RegisterComponent(aAdapter);

            try
            {
                aAdapter.GetComponentInstance(pico);
            }
            catch (UnsatisfiableDependenciesException e)
            {
                Assert.IsTrue(e.UnsatisfiableDependencies.Contains(typeof(IList)));
                Assert.IsTrue(e.UnsatisfiableDependencies.Contains(typeof(string)));
            }
        }
		public void HybridBeans()
		{
			SetterInjectionComponentAdapter bAdapter = new SetterInjectionComponentAdapter("b", typeof (B), null);
			SetterInjectionComponentAdapter cAdapter = new SetterInjectionComponentAdapter("c", typeof (C), null);
			SetterInjectionComponentAdapter cNullAdapter = new SetterInjectionComponentAdapter("c0", typeof (C), null);

			IMutablePicoContainer pico = new DefaultPicoContainer();
			pico.RegisterComponent(bAdapter);
			pico.RegisterComponent(cAdapter);
			pico.RegisterComponent(cNullAdapter);
			pico.RegisterComponentImplementation(typeof (ArrayList));

			C c = (C) cAdapter.GetComponentInstance(pico);
			Assert.IsTrue(c.instantiatedAsBean());
			C c0 = (C) cNullAdapter.GetComponentInstance(pico);
			Assert.IsTrue(c0.instantiatedAsBean());
		}
		public void AllUnsatisfiableDependenciesAreSignalled()
		{
			SetterInjectionComponentAdapter aAdapter = new SetterInjectionComponentAdapter("a", typeof (A), null);
			SetterInjectionComponentAdapter bAdapter = new SetterInjectionComponentAdapter("b", typeof (B), null);

			IMutablePicoContainer pico = new DefaultPicoContainer();
			pico.RegisterComponent(bAdapter);
			pico.RegisterComponent(aAdapter);

			try
			{
				aAdapter.GetComponentInstance(pico);
			}
			catch (UnsatisfiableDependenciesException e)
			{
				Assert.IsTrue(e.UnsatisfiableDependencies.Contains(typeof (IList)));
				Assert.IsTrue(e.UnsatisfiableDependencies.Contains(typeof (string)));
			}
		}
			public SetterInjectionGuard(IPicoContainer guardedContainer, SetterInjectionComponentAdapter sica)
			{
				this.guardedContainer = guardedContainer;
				this.sica = sica;
			}
Ejemplo n.º 7
0
 public SetterInjectionGuard(IPicoContainer guardedContainer, SetterInjectionComponentAdapter sica)
 {
     this.guardedContainer = guardedContainer;
     this.sica             = sica;
 }