public void RES_failingVerificationWithCyclicDependencyException() { if ((GetComponentAdapterNature() & RESOLVING) > 0) { Hashtable cycleInstances = new Hashtable(); IObjectReference cycleCheck = new SimpleReference(); object[] wrapperDependencies = new Object[] { cycleInstances, cycleCheck }; IMutablePicoContainer picoContainer = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory()); IComponentAdapter componentAdapter = prepRES_failingVerificationWithCyclicDependencyException(picoContainer); Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType()); Assert.IsTrue(picoContainer.ComponentAdapters.Contains(componentAdapter)); IPicoContainer wrappedPicoContainer = WrapComponentInstances(typeof(CycleDetectorComponentAdapter), picoContainer, wrapperDependencies); try { componentAdapter.Verify(wrappedPicoContainer); Assert.Fail("Thrown PicoVerificationException excpected"); } catch (CyclicDependencyException cycle) { object[] dependencies = cycle.Dependencies; Assert.AreSame(dependencies[0], dependencies[dependencies.Length - 1]); } } }
public void DEF_verifyWithoutDependencyWorks() { IMutablePicoContainer picoContainer = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory()); IComponentAdapter componentAdapter = prepDEF_verifyWithoutDependencyWorks(picoContainer); Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType()); componentAdapter.Verify(picoContainer); }
public virtual void Verify(IPicoContainer container, IComponentAdapter adapter, Type expectedType) { IComponentAdapter componentAdapter = ResolveAdapter(container, adapter, expectedType); if (componentAdapter == null) { throw new PicoIntrospectionException(expectedType.Name + " is not resolvable"); } componentAdapter.Verify(container); }
public void VER_verificationFails() { if ((GetComponentAdapterNature() & VERIFYING) > 0) { IMutablePicoContainer picoContainer = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory()); IComponentAdapter componentAdapter = prepVER_verificationFails(picoContainer); Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType()); try { componentAdapter.Verify(picoContainer); Assert.Fail("PicoIntrospectionException expected"); } catch (PicoIntrospectionException) { } catch (Exception e) { Assert.Fail("PicoIntrospectionException expected, but got " + e.GetType().Name); } try { componentAdapter.GetComponentInstance(picoContainer); Assert.Fail("PicoInitializationException or PicoIntrospectionException expected"); } catch (PicoInitializationException) { } catch (PicoIntrospectionException) { } catch (Exception e) { Assert.Fail("PicoInitializationException or PicoIntrospectionException expected, but got " + e.GetType().Name); } } }
/// <summary> /// Verify that all dependencies for this adapter can be satisifed. /// </summary> /// <exception cref="PicoContainer.PicoIntrospectionException">if the verification failed</exception> public virtual void Verify(IPicoContainer container) { theDelegate.Verify(container); }