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 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()); } }
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); }
public void DEF_verifyWithoutDependencyWorks() { IMutablePicoContainer picoContainer = new DefaultPicoContainer(CreateDefaultComponentAdapterFactory()); IComponentAdapter componentAdapter = prepDEF_verifyWithoutDependencyWorks(picoContainer); Assert.AreSame(GetComponentAdapterType(), componentAdapter.GetType()); componentAdapter.Verify(picoContainer); }
public void Dispose() { _picoContainer.Dispose(); _basePicoContainer.Dispose(); _picoContainer = null; _basePicoContainer = null; _mockPicoContainer = null; theInstance = null; }
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; }
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); }
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); }
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); } }
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); } } }
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")); }
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)); }
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(); }