Пример #1
0
 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]);
         }
     }
 }
Пример #2
0
        public void DEF_verifyWithoutDependencyWorks()
        {
            IMutablePicoContainer picoContainer    = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory());
            IComponentAdapter     componentAdapter = prepDEF_verifyWithoutDependencyWorks(picoContainer);

            Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType());
            componentAdapter.Verify(picoContainer);
        }
Пример #3
0
        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);
        }
Пример #4
0
 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);
 }