Ejemplo n.º 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]);
         }
     }
 }
Ejemplo n.º 2
0
        public void SER_isSerializable()
        {
            if ((GetComponentAdapterNature() & SERIALIZABLE) > 0)
            {
                IMutablePicoContainer picoContainer    = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory());
                IComponentAdapter     componentAdapter = prepSER_isSerializable(picoContainer);
                Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType());
                Object instance = componentAdapter.GetComponentInstance(picoContainer);
                Assert.IsNotNull(instance);

                IComponentAdapter serializedComponentAdapter = null;

                using (Stream stream = new MemoryStream())
                {
                    // Serialize it to memory
                    IFormatter formatter = new BinaryFormatter();
                    formatter.Serialize(stream, componentAdapter);

                    // De-Serialize from memory
                    stream.Seek(0, 0); // reset stream to begining
                    serializedComponentAdapter = (IComponentAdapter)formatter.Deserialize(stream);
                }

                Assert.AreEqual(componentAdapter.ComponentKey, serializedComponentAdapter.ComponentKey);
                Object instanceAfterSerialization = serializedComponentAdapter.GetComponentInstance(picoContainer);
                Assert.IsNotNull(instanceAfterSerialization);
                Assert.AreSame(instance.GetType(), instanceAfterSerialization.GetType());
            }
        }
Ejemplo n.º 3
0
        protected virtual IPicoContainer WrapComponentInstances(Type decoratingComponentAdapterClass,
                                                                IPicoContainer picoContainer,
                                                                object[] wrapperDependencies)
        {
            Assert.IsTrue(typeof(DecoratingComponentAdapter).IsAssignableFrom(decoratingComponentAdapterClass));
            IMutablePicoContainer mutablePicoContainer = new DefaultPicoContainer();
            int         size = (wrapperDependencies != null ? wrapperDependencies.Length : 0) + 1;
            ICollection allComponentAdapters = picoContainer.ComponentAdapters;

            foreach (object adapter in allComponentAdapters)
            {
                IParameter[] parameters = new IParameter[size];
                parameters[0] = new ConstantParameter(adapter);
                for (int i = 1; i < parameters.Length; i++)
                {
                    parameters[i] = new ConstantParameter(wrapperDependencies[i - 1]);
                }
                IMutablePicoContainer instantiatingPicoContainer =
                    new DefaultPicoContainer(new ConstructorInjectionComponentAdapterFactory());
                instantiatingPicoContainer.RegisterComponentImplementation("decorator", decoratingComponentAdapterClass,
                                                                           parameters);
                mutablePicoContainer.RegisterComponent(
                    (IComponentAdapter)instantiatingPicoContainer.GetComponentInstance("decorator"));
            }
            return(mutablePicoContainer);
        }
Ejemplo n.º 4
0
        public void DEF_verifyWithoutDependencyWorks()
        {
            IMutablePicoContainer picoContainer    = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory());
            IComponentAdapter     componentAdapter = prepDEF_verifyWithoutDependencyWorks(picoContainer);

            Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType());
            componentAdapter.Verify(picoContainer);
        }
Ejemplo n.º 5
0
 public void Dispose()
 {
     _picoContainer.Dispose();
     _basePicoContainer.Dispose();
     _picoContainer     = null;
     _basePicoContainer = null;
     _mockPicoContainer = null;
     theInstance        = null;
 }
Ejemplo n.º 6
0
        public MockPluginEnvironment(IResourceStore storage)
        {
            _picoContainer     = new DefaultPicoContainer();
            _mockPicoContainer = new DefaultPicoContainer(_picoContainer);

            Storage = storage;
            if (storage != null)
            {
                _picoContainer.RegisterComponentInstance(storage);
            }
            File.Delete(".\\MockPluginEnvironment.ini");
            _settingStore = new Ini.IniFile(".\\MockPluginEnvironment.ini");

            DynamicMock actionManagerMock = new DynamicMock(typeof(IActionManager));

            actionManagerMock.SetupResult("GetKeyboardShortcut", "", typeof(IAction));
            _actionManager = (IActionManager)actionManagerMock.MockInstance;

            _uiManager       = (IUIManager) new DynamicMock(typeof(IUIManager)).MockInstance;
            _pluginLoader    = (IPluginLoader) new DynamicMock(typeof(IPluginLoader)).MockInstance;
            _resourceBrowser = (IResourceBrowser) new DynamicMock(typeof(IResourceBrowser)).MockInstance;
            _tabManager      = new MockTabManager();
            _resourceAP      = new MockAsyncProcessor();
            _networkAP       = new MockAsyncProcessor();
            _uiAP            = new MockAsyncProcessor();

            DynamicMock resourceIconManagerMock = new DynamicMock(typeof(IResourceIconManager));

            resourceIconManagerMock.SetupResult("IconColorDepth", ColorDepth.Depth8Bit);
            resourceIconManagerMock.SetupResult("GetIconIndex", 0, typeof(IResource));
            _resourceIconManager = (IResourceIconManager)resourceIconManagerMock.MockInstance;

            _notificationManager  = (INotificationManager) new DynamicMock(typeof(INotificationManager)).MockInstance;
            _textIndexManager     = (ITextIndexManager) new DynamicMock(typeof(ITextIndexManager)).MockInstance;
            _messageFormatter     = (IMessageFormatter) new DynamicMock(typeof(IMessageFormatter)).MockInstance;
            _displayColumnManager = (IDisplayColumnManager) new DynamicMock(typeof(IDisplayColumnManager)).MockInstance;

//            DynamicMock filterManagerMock = new DynamicMock( typeof(IFilterRegistry) );
            DynamicMock filterEngineMock = new DynamicMock(typeof(IFilterEngine));

            filterEngineMock.SetupResult("ExecRules", true, typeof(string), typeof(IResource));

            DynamicMock filterManagerMock = new DynamicMock(typeof(IFilterRegistry));

            _filterRegistry = (IFilterRegistry)filterManagerMock.MockInstance;

            _rcManager             = (IRemoteControlManager) new DynamicMock(typeof(IRemoteControlManager)).MockInstance;
            _trayIconManager       = (ITrayIconManager) new DynamicMock(typeof(ITrayIconManager)).MockInstance;
            _formattingRuleManager = (IFormattingRuleManager) new DynamicMock(typeof(IFormattingRuleManager)).MockInstance;
            _expirationRuleManager = (IExpirationRuleManager) new DynamicMock(typeof(IExpirationRuleManager)).MockInstance;
            _filteringFormsManager = (IFilteringFormsManager) new DynamicMock(typeof(IFilteringFormsManager)).MockInstance;
            _searchQueryExtensions = (ISearchQueryExtensions) new DynamicMock(typeof(ISearchQueryExtensions)).MockInstance;
            _filterEngine          = (IFilterEngine) new DynamicMock(typeof(IFilterEngine)).MockInstance;

            theInstance = this;
        }
Ejemplo n.º 7
0
        public void DEF_verifyDoesNotInstantiate()
        {
            IMutablePicoContainer picoContainer    = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory());
            IComponentAdapter     componentAdapter = prepDEF_verifyDoesNotInstantiate(picoContainer);

            Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType());
            IComponentAdapter notInstantiatablecomponentAdapter =
                new NotInstantiatableComponentAdapter(componentAdapter);
            IPicoContainer wrappedPicoContainer =
                WrapComponentInstances(typeof(NotInstantiatableComponentAdapter), picoContainer, null);

            notInstantiatablecomponentAdapter.Verify(wrappedPicoContainer);
        }
Ejemplo n.º 8
0
 public void INS_createsNewInstances()
 {
     if ((GetComponentAdapterNature() & INSTANTIATING) > 0)
     {
         IMutablePicoContainer picoContainer    = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory());
         IComponentAdapter     componentAdapter = prepINS_createsNewInstances(picoContainer);
         Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType());
         object instance = componentAdapter.GetComponentInstance(picoContainer);
         Assert.IsNotNull(instance);
         // following was a "AreNotSame" assertion
         Assert.IsFalse(instance == componentAdapter.GetComponentInstance(picoContainer));
         Assert.AreSame(instance.GetType(), componentAdapter.GetComponentInstance(picoContainer).GetType());
     }
 }
        public void UsageOfADifferentComponentAdapterFactory()
        {
            // Jira bug 212 - logical opposite
            IMutablePicoContainer parent = new DefaultPicoContainer();
            ImplementationHidingCachingPicoContainer pico =
                new ImplementationHidingCachingPicoContainer(new ConstructorInjectionComponentAdapterFactory(), parent);

            pico.RegisterComponentImplementation(typeof(IList), typeof(ArrayList));
            IList list1 = (IList)pico.GetComponentInstanceOfType(typeof(IList));
            IList list2 = (IList)pico.GetComponentInstanceOfType(typeof(IList));

            Assert.IsNotNull(list1);
            Assert.IsNotNull(list2);
            Assert.IsTrue(list1 == list2);
        }
Ejemplo n.º 10
0
 public void RES_dependenciesAreResolved()
 {
     if ((GetComponentAdapterNature() & RESOLVING) > 0)
     {
         IList    dependencies                  = new ArrayList();
         object[] wrapperDependencies           = new object[] { dependencies };
         IMutablePicoContainer picoContainer    = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory());
         IComponentAdapter     componentAdapter = prepRES_dependenciesAreResolved(picoContainer);
         Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType());
         Assert.IsFalse(picoContainer.ComponentAdapters.Contains(componentAdapter));
         IPicoContainer wrappedPicoContainer =
             WrapComponentInstances(typeof(CollectingComponentAdapter), picoContainer, wrapperDependencies);
         object instance = componentAdapter.GetComponentInstance(wrappedPicoContainer);
         Assert.IsNotNull(instance);
         Assert.IsTrue(dependencies.Count > 0);
     }
 }
Ejemplo n.º 11
0
 public void INS_runtimeExceptionIsRethrown()
 {
     if ((GetComponentAdapterNature() & INSTANTIATING) > 0)
     {
         IMutablePicoContainer picoContainer    = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory());
         IComponentAdapter     componentAdapter = prepINS_systemExceptionIsRethrown(picoContainer);
         Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType());
         try
         {
             componentAdapter.GetComponentInstance(picoContainer);
             Assert.Fail("Thrown RuntimeException excpected");
         }
         catch (PicoInvocationTargetInitializationException e)
         {
             Assert.AreEqual("test", e.GetBaseException().Message);
         }
     }
 }
Ejemplo n.º 12
0
        public TestCore(Type resourceStoreType)
        {
            theInstance = this;

            _basePicoContainer = _picoContainer;
            _mockPicoContainer = new DefaultPicoContainer(_basePicoContainer);
            _picoContainer     = _mockPicoContainer;

            _basePicoContainer.RegisterComponentImplementation(resourceStoreType);
            _basePicoContainer.RegisterComponentImplementation(typeof(MockResourceTabProvider));

            _resourceAP = new MockAsyncProcessor();
            _networkAP  = new MockAsyncProcessor();
            _uiAP       = new MockAsyncProcessor();

            _basePicoContainer.RegisterComponentInstance(new DynamicMock(typeof(IPluginLoader)).MockInstance);
            _basePicoContainer.RegisterComponentInstance(new DynamicMock(typeof(ITextIndexManager)).MockInstance);
            _basePicoContainer.RegisterComponentInstance(new DynamicMock(typeof(IUIManager)).MockInstance);
            _basePicoContainer.RegisterComponentInstance(new DynamicMock(typeof(IResourceBrowser)).MockInstance);
            _basePicoContainer.RegisterComponentInstance(new DynamicMock(typeof(ISidebarSwitcher)).MockInstance);

            DynamicMock resourceIconManagerMock = new DynamicMock(typeof(IResourceIconManager));

            resourceIconManagerMock.SetupResult("IconColorDepth", ColorDepth.Depth8Bit);
            resourceIconManagerMock.SetupResult("GetIconIndex", 0, typeof(IResource));
            _basePicoContainer.RegisterComponentInstance(resourceIconManagerMock.MockInstance);

            DynamicMock actionManagerMock = new DynamicMock(typeof(IActionManager));

            actionManagerMock.SetupResult("GetKeyboardShortcut", "", typeof(IAction));
            _basePicoContainer.RegisterComponentInstance(actionManagerMock.MockInstance);

            _basePicoContainer.RegisterComponentInstance(new MockTabManager());

            DynamicMock displayColumnManagerMock = new DynamicMock(typeof(IDisplayColumnManager));

            _basePicoContainer.RegisterComponentInstance(displayColumnManagerMock.MockInstance);

            File.Delete(".\\MockPluginEnvironment.ini");
            _basePicoContainer.RegisterComponentInstance(new Ini.IniFile(".\\MockPluginEnvironment.ini"));
        }
Ejemplo n.º 13
0
 protected PicoCore()
 {
     _picoContainer = new DefaultPicoContainer();
     _picoContainer.RegisterComponentImplementation(typeof(CategoryManager));
     _picoContainer.RegisterComponentImplementation(typeof(ResourceTreeManager));
     _picoContainer.RegisterComponentImplementation(typeof(WorkspaceManager));
     _picoContainer.RegisterComponentImplementation(typeof(UnreadManager));
     _picoContainer.RegisterComponentImplementation(typeof(FilterRegistry));
     _picoContainer.RegisterComponentImplementation(typeof(FormattingRuleManager));
     _picoContainer.RegisterComponentImplementation(typeof(ExpirationRuleManager));
     _picoContainer.RegisterComponentImplementation(typeof(FilteringFormsManager));
     _picoContainer.RegisterComponentImplementation(typeof(FilterEngine));
     _picoContainer.RegisterComponentImplementation(typeof(ContactManager));
     _picoContainer.RegisterComponentImplementation(typeof(FileResourceManager));
     _picoContainer.RegisterComponentImplementation(typeof(NotificationManager));
     _picoContainer.RegisterComponentImplementation(typeof(MessageFormatter));
     _picoContainer.RegisterComponentImplementation(typeof(CoreProps));
     _picoContainer.RegisterComponentImplementation(typeof(CorePropIds));
     _picoContainer.RegisterComponentImplementation(typeof(FavIconManager));
     _picoContainer.RegisterComponentImplementation(typeof(SearchQueryExtensions));
 }
Ejemplo n.º 14
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);
         }
     }
 }
 public virtual void SetUp()
 {
     picoContainer = new DefaultPicoContainer();
 }