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))); } }