From: <jer...@us...> - 2008-05-04 01:11:32
|
Revision: 89 http://structuremap.svn.sourceforge.net/structuremap/?rev=89&view=rev Author: jeremydmiller Date: 2008-05-03 18:11:30 -0700 (Sat, 03 May 2008) Log Message: ----------- Cutting the ties to PluginFamilyCollection to eliminate it Modified Paths: -------------- trunk/Source/StructureMap/Attributes/PluginFamilyAttribute.cs trunk/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs trunk/Source/StructureMap/Graph/PluginFamily.cs trunk/Source/StructureMap/Graph/PluginFamilyCollection.cs trunk/Source/StructureMap/Graph/PluginGraph.cs trunk/Source/StructureMap.Testing/Configuration/DSL/CreatePluginFamilyTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryIntegratedTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs trunk/Source/StructureMap.Testing/Configuration/DefaultInstanceNodeTester.cs trunk/Source/StructureMap.Testing/Configuration/IncludeTesting.cs trunk/Source/StructureMap.Testing/Configuration/ShortcuttedInstanceNodeTester.cs trunk/Source/StructureMap.Testing/Container/ArrayConstructorTester.cs trunk/Source/StructureMap.Testing/Container/DynamicInjectionTester.cs trunk/Source/StructureMap.Testing/Container/EnumerationTester.cs trunk/Source/StructureMap.Testing/Container/PluginGraphBuilderTester.cs trunk/Source/StructureMap.Testing/Container/SetterInjectionEmittingTester.cs trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs trunk/Source/StructureMap.Testing/Graph/PluginGraphTester.cs trunk/Source/StructureMap.Testing/Graph/SetterInjectionTester.cs trunk/Source/StructureMap.Testing/InstanceMementoInstanceCreationTester.cs trunk/Source/StructureMap.Testing/ObjectMother.cs trunk/Source/StructureMap.Testing/StructureMap.Testing.csproj Modified: trunk/Source/StructureMap/Attributes/PluginFamilyAttribute.cs =================================================================== --- trunk/Source/StructureMap/Attributes/PluginFamilyAttribute.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap/Attributes/PluginFamilyAttribute.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -154,6 +154,12 @@ public static PluginFamily CreatePluginFamily(Type exportedType) { PluginFamilyAttribute att = GetAttribute(exportedType); + + if (att == null) + { + return new PluginFamily(exportedType); + } + PluginFamily family = att.BuildPluginFamily(exportedType); return family; Modified: trunk/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs =================================================================== --- trunk/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -41,8 +41,6 @@ alteration(family); } - graph.PluginFamilies.Add(family); - AssemblyGraph assembly = new AssemblyGraph(_pluginType.Assembly); graph.Assemblies.Add(assembly); } Modified: trunk/Source/StructureMap/Graph/PluginFamily.cs =================================================================== --- trunk/Source/StructureMap/Graph/PluginFamily.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap/Graph/PluginFamily.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -62,6 +62,7 @@ public PluginFamily(Type pluginType) : this(pluginType, PluginFamilyAttribute.GetDefaultKey(pluginType)) { + // TODO -- Merge functionality with PluginFamilyAttribute PluginFamilyAttribute attribute = PluginFamilyAttribute.GetAttribute(pluginType); if (attribute != null) { Modified: trunk/Source/StructureMap/Graph/PluginFamilyCollection.cs =================================================================== --- trunk/Source/StructureMap/Graph/PluginFamilyCollection.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap/Graph/PluginFamilyCollection.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -71,21 +71,7 @@ get { return _pluginFamilies.Count; } } - public PluginFamily Add(Type pluginType, string defaultInstanceKey) - { - PluginFamily family = new PluginFamily(pluginType, defaultInstanceKey); - return Add(family); - } - public PluginFamily Add(Type pluginType) - { - PluginFamilyAttribute att = PluginFamilyAttribute.GetAttribute(pluginType); - PluginFamily family = att == null ? new PluginFamily(pluginType) : att.BuildPluginFamily(pluginType); - Add(family); - - return family; - } - public PluginFamily Add(PluginFamily family) { family.Parent = _pluginGraph; Modified: trunk/Source/StructureMap/Graph/PluginGraph.cs =================================================================== --- trunk/Source/StructureMap/Graph/PluginGraph.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap/Graph/PluginGraph.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -71,6 +71,11 @@ get { return _interceptorLibrary; } } + public int FamilyCount + { + get { return _pluginFamilies.Count; } + } + /// <summary> /// Closes the PluginGraph for adding or removing members. Searches all of the /// AssemblyGraph's for implicit Plugin and PluginFamily's @@ -164,7 +169,8 @@ { if (!_pluginFamilies.Contains(pluginType)) { - PluginFamily family = _pluginFamilies.Add(pluginType); + PluginFamily family = PluginFamilyAttribute.CreatePluginFamily(pluginType); + _pluginFamilies.Add(family); attachImplicitPlugins(family); } } @@ -174,5 +180,10 @@ buildFamilyIfMissing(pluginType); return PluginFamilies[pluginType]; } + + public bool ContainsFamily(Type pluginType) + { + return _pluginFamilies.Contains(pluginType); + } } } \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/Configuration/DSL/CreatePluginFamilyTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/DSL/CreatePluginFamilyTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Configuration/DSL/CreatePluginFamilyTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -73,7 +73,7 @@ Assert.IsNotNull(expression); } - PluginFamily family = pluginGraph.PluginFamilies[typeof (IGateway)]; + PluginFamily family = pluginGraph.FindFamily(typeof (IGateway)); Assert.IsInstanceOfType(typeof(ThreadLocalStoragePolicy), family.Policy); } @@ -86,7 +86,7 @@ registry.BuildInstancesOf<IGateway>(); } - Assert.IsTrue(pluginGraph.PluginFamilies.Contains<IGateway>()); + Assert.IsTrue(pluginGraph.ContainsFamily(typeof(IGateway))); } @@ -101,7 +101,7 @@ Assert.IsNotNull(expression); } - PluginFamily family = pluginGraph.PluginFamilies[typeof (IGateway)]; + PluginFamily family = pluginGraph.FindFamily(typeof (IGateway)); Assert.IsInstanceOfType(typeof(BuildPolicy), family.Policy); } @@ -116,7 +116,7 @@ Assert.IsNotNull(expression); } - PluginFamily family = pluginGraph.PluginFamilies[typeof (IGateway)]; + PluginFamily family = pluginGraph.FindFamily(typeof (IGateway)); Assert.IsInstanceOfType(typeof(SingletonPolicy), family.Policy); } @@ -130,7 +130,7 @@ registry.BuildInstancesOf<IGateway>().TheDefaultIsConcreteType<StubbedGateway>(); } - Assert.IsTrue(pluginGraph.PluginFamilies.Contains<IGateway>()); + Assert.IsTrue(pluginGraph.ContainsFamily(typeof(IGateway))); InstanceManager manager = new InstanceManager(pluginGraph); IGateway gateway = (IGateway) manager.CreateInstance(typeof (IGateway)); @@ -147,7 +147,7 @@ registry.BuildInstancesOf<IGateway>().TheDefaultIsConcreteType<FakeGateway>(); } - Assert.IsTrue(pluginGraph.PluginFamilies.Contains<IGateway>()); + Assert.IsTrue(pluginGraph.ContainsFamily(typeof(IGateway))); InstanceManager manager = new InstanceManager(pluginGraph); IGateway gateway = (IGateway) manager.CreateInstance(typeof (IGateway)); @@ -180,7 +180,7 @@ registry.BuildInstancesOf<IGateway>().InterceptConstructionWith(factoryInterceptor); } - Assert.AreSame(pluginGraph.PluginFamilies[typeof(IGateway)].Policy, factoryInterceptor); + Assert.AreSame(pluginGraph.FindFamily(typeof(IGateway)).Policy, factoryInterceptor); } [Test] @@ -205,7 +205,7 @@ registry.BuildInstancesOf<IGateway>(); } - Assert.IsTrue(pluginGraph.PluginFamilies.Contains<IGateway>()); + Assert.IsTrue(pluginGraph.ContainsFamily(typeof(IGateway))); InstanceManager manager = new InstanceManager(pluginGraph); IGateway gateway = (IGateway) manager.CreateInstance(typeof (IGateway)); Modified: trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryIntegratedTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryIntegratedTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryIntegratedTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -76,7 +76,7 @@ graph.Seal(); List<string> colors = new List<string>(); - foreach (Instance instance in graph.PluginFamilies[typeof (IWidget)].GetAllInstances()) + foreach (Instance instance in graph.FindFamily(typeof (IWidget)).GetAllInstances()) { colors.Add(instance.Name); } Modified: trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -83,7 +83,7 @@ registry.Dispose(); - PluginFamily family = graph.PluginFamilies[typeof (IGateway)]; + PluginFamily family = graph.FindFamily(typeof (IGateway)); UserControlInstance instance = (UserControlInstance) family.GetInstance(theKey); Assert.IsNotNull(instance); Modified: trunk/Source/StructureMap.Testing/Configuration/DefaultInstanceNodeTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/DefaultInstanceNodeTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Configuration/DefaultInstanceNodeTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -25,7 +25,7 @@ [Test] public void DefaultNameOfRule() { - PluginFamily family = _graph.PluginFamilies[typeof (Rule)]; + PluginFamily family = _graph.FindFamily(typeof (Rule)); Assert.AreEqual("TheBlueOne", family.DefaultInstanceKey); } Modified: trunk/Source/StructureMap.Testing/Configuration/IncludeTesting.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/IncludeTesting.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Configuration/IncludeTesting.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -25,7 +25,7 @@ public void AddAnInstanceFromMasterConfigToAFamilyInInclude() { PluginGraph graph = buildGraph(); - PluginFamily family = graph.PluginFamilies[typeof (IStrategy)]; + PluginFamily family = graph.FindFamily(typeof (IStrategy)); Assert.IsNotNull(family.GetMemento("Blue")); Assert.IsNotNull(family.GetMemento("Red")); Assert.IsNotNull(family.GetMemento("DeepTest")); // from include @@ -49,7 +49,8 @@ { PluginGraph graph = buildGraph(); - Assert.IsTrue(graph.PluginFamilies.Contains(typeof (IStrategy))); + + Assert.IsTrue(graph.ContainsFamily(typeof (IStrategy))); } } } \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/Configuration/ShortcuttedInstanceNodeTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/ShortcuttedInstanceNodeTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Configuration/ShortcuttedInstanceNodeTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -27,7 +27,7 @@ public void CreateTheInferredPluginCorrectly() { // Who needs the Law of Demeter? - InstanceMemento[] mementoArray = _graph.PluginFamilies[typeof (IWidget)].GetAllMementos(); + InstanceMemento[] mementoArray = _graph.FindFamily(typeof (IWidget)).GetAllMementos(); Assert.AreEqual(4, mementoArray.Length); } Modified: trunk/Source/StructureMap.Testing/Container/ArrayConstructorTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/ArrayConstructorTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Container/ArrayConstructorTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -29,7 +29,7 @@ XmlMementoSource source = new XmlFileMementoSource("Array.xml", string.Empty, "Decision"); - PluginFamily family = graph.PluginFamilies.Add(typeof(Decision), string.Empty); + PluginFamily family = graph.FindFamily(typeof(Decision)); family.AddMementoSource(source); family.Plugins.Add(typeof (Decision), "Default"); Modified: trunk/Source/StructureMap.Testing/Container/DynamicInjectionTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/DynamicInjectionTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Container/DynamicInjectionTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -96,7 +96,7 @@ public void AddPluginForTypeWhenThePluginAlreadyExists() { PluginGraph pluginGraph = new PluginGraph(); - PluginFamily family = pluginGraph.PluginFamilies.Add(typeof(ISomething)); + PluginFamily family = pluginGraph.FindFamily(typeof(ISomething)); family.Plugins.Add(typeof (SomethingOne), "One"); InstanceManager manager = new InstanceManager(pluginGraph); @@ -149,7 +149,7 @@ private IInstanceFactory getISomethingFactory() { PluginGraph pluginGraph = new PluginGraph(); - pluginGraph.PluginFamilies.Add(typeof (ISomething)); + pluginGraph.FindFamily(typeof (ISomething)); InstanceManager manager = new InstanceManager(pluginGraph); return manager[typeof(ISomething)]; } Modified: trunk/Source/StructureMap.Testing/Container/EnumerationTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/EnumerationTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Container/EnumerationTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -20,7 +20,7 @@ PluginGraph graph = new PluginGraph(); - PluginFamily family = graph.PluginFamilies.Add(typeof (Cow), string.Empty); + PluginFamily family = graph.FindFamily(typeof (Cow)); family.Plugins.Add(typeof (Cow), "Default"); Modified: trunk/Source/StructureMap.Testing/Container/PluginGraphBuilderTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/PluginGraphBuilderTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Container/PluginGraphBuilderTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -41,18 +41,18 @@ { PluginGraph pluginGraph = DataMother.GetDiagnosticPluginGraph("SingletonIntercepterTest.xml"); - PluginFamily family = pluginGraph.PluginFamilies[typeof (Rule)]; + PluginFamily family = pluginGraph.FindFamily(typeof (Rule)); Assert.IsInstanceOfType(typeof (SingletonPolicy), family.Policy); // The PluginFamily for IWidget has no intercepters configured - PluginFamily widgetFamily = pluginGraph.PluginFamilies[typeof (IWidget)]; + PluginFamily widgetFamily = pluginGraph.FindFamily(typeof (IWidget)); Assert.IsInstanceOfType(typeof (BuildPolicy), widgetFamily.Policy); } [Test] public void CanDefinedSourceBuildMemento() { - PluginFamily family = graph.PluginFamilies[typeof (IWidget)]; + PluginFamily family = graph.FindFamily(typeof (IWidget)); InstanceMemento memento = family.GetMemento("Red"); @@ -62,7 +62,7 @@ [Test] public void CanImpliedInlineSourceBuildMemento() { - PluginFamily family = graph.PluginFamilies[typeof (Rule)]; + PluginFamily family = graph.FindFamily(typeof (Rule)); InstanceMemento memento = family.GetMemento("Red"); @@ -73,7 +73,7 @@ [Test] public void CanImpliedNOTInlineSourceBuildMemento() { - PluginFamily family = graph.PluginFamilies[typeof (Parent)]; + PluginFamily family = graph.FindFamily(typeof (Parent)); InstanceMemento memento = family.GetMemento("Jerry"); @@ -85,7 +85,7 @@ { PluginGraph pluginGraph = DataMother.GetPluginGraph("ExplicitPluginFamilyOverridesImplicitPluginFamily.xml"); - PluginFamily family = pluginGraph.PluginFamilies[typeof (GrandChild)]; + PluginFamily family = pluginGraph.FindFamily(typeof (GrandChild)); Assert.AreEqual("Fred", family.DefaultInstanceKey); } @@ -108,21 +108,21 @@ [Test] public void GotPluginFamiliesThatAreDefinedInConfigXml() { - Assert.IsNotNull(graph.PluginFamilies[typeof (Rule)]); - Assert.IsNotNull(graph.PluginFamilies[typeof (Column)]); + Assert.IsNotNull(graph.FindFamily(typeof (Rule))); + Assert.IsNotNull(graph.FindFamily(typeof (Column))); - PluginFamily family = graph.PluginFamilies[typeof (Rule)]; + PluginFamily family = graph.FindFamily(typeof (Rule)); } [Test] public void GotPluginFamiliesThatAreMarkedByAttributes() { - Assert.IsNotNull(graph.PluginFamilies[typeof (GrandChild)]); - Assert.IsNotNull(graph.PluginFamilies[typeof (Child)]); - Assert.IsNotNull(graph.PluginFamilies[typeof (Parent)]); - Assert.IsNotNull(graph.PluginFamilies[typeof (WidgetMaker)]); + Assert.IsNotNull(graph.FindFamily(typeof (GrandChild))); + Assert.IsNotNull(graph.FindFamily(typeof (Child))); + Assert.IsNotNull(graph.FindFamily(typeof (Parent))); + Assert.IsNotNull(graph.FindFamily(typeof (WidgetMaker))); - PluginFamily family = graph.PluginFamilies[typeof (Child)]; + PluginFamily family = graph.FindFamily(typeof (Child)); } [Test] @@ -141,7 +141,7 @@ [Test] public void GotPluginsThatAreMarkedAsPluggable() { - PluginFamily pluginFamily = graph.PluginFamilies[typeof (IWidget)]; + PluginFamily pluginFamily = graph.FindFamily(typeof (IWidget)); Plugin plugin = pluginFamily.Plugins[typeof (ColorWidget)]; Assert.IsNotNull(plugin); } @@ -150,7 +150,7 @@ [Test] public void GotPluginThatIsAddedInConfigXml() { - PluginFamily family = graph.PluginFamilies[typeof (IWidget)]; + PluginFamily family = graph.FindFamily(typeof (IWidget)); Plugin plugin = family.Plugins[typeof (NotPluggableWidget)]; Assert.IsNotNull(plugin); Assert.AreEqual("NotPluggable", plugin.ConcreteKey); @@ -171,7 +171,7 @@ [Test] public void GotRightNumberOfPluginsForIWidget() { - PluginFamily pluginFamily = graph.PluginFamilies[typeof (IWidget)]; + PluginFamily pluginFamily = graph.FindFamily(typeof (IWidget)); Assert.AreEqual(5, pluginFamily.Plugins.Count, "Should be 5 total"); } @@ -179,7 +179,7 @@ [Test] public void GotRightNumberOfPluginsForMultipleAssemblies() { - PluginFamily pluginFamily = graph.PluginFamilies[typeof (Rule)]; + PluginFamily pluginFamily = graph.FindFamily(typeof (Rule)); Assert.AreEqual(5, pluginFamily.Plugins.Count, "Should be 5 total"); } @@ -194,7 +194,7 @@ [Test] public void SetsTheDefaultInstanceKey() { - PluginFamily family = graph.PluginFamilies[typeof (IWidget)]; + PluginFamily family = graph.FindFamily(typeof (IWidget)); Assert.AreEqual("Red", family.DefaultInstanceKey); } } Modified: trunk/Source/StructureMap.Testing/Container/SetterInjectionEmittingTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Container/SetterInjectionEmittingTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Container/SetterInjectionEmittingTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -53,7 +53,7 @@ public void EnumSetter() { PluginGraph graph = new PluginGraph(); - PluginFamily family = graph.PluginFamilies.Add(typeof (IGridColumn)); + PluginFamily family = graph.FindFamily(typeof (IGridColumn)); Plugin plugin = Plugin.CreateImplicitPlugin(typeof(EnumGridColumn)); family.Plugins.Add(plugin); @@ -70,7 +70,7 @@ public void PrimitiveNonStringSetter() { PluginGraph graph = new PluginGraph(); - PluginFamily family = graph.PluginFamilies.Add(typeof(IGridColumn)); + PluginFamily family = graph.FindFamily(typeof(IGridColumn)); Plugin plugin = Plugin.CreateImplicitPlugin(typeof(LongGridColumn)); family.Plugins.Add(plugin); @@ -89,7 +89,7 @@ public void StringSetter() { PluginGraph graph = new PluginGraph(); - PluginFamily family = graph.PluginFamilies.Add(typeof(IGridColumn)); + PluginFamily family = graph.FindFamily(typeof(IGridColumn)); Plugin plugin = Plugin.CreateImplicitPlugin(typeof(StringGridColumn)); family.Plugins.Add(plugin); Modified: trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -24,7 +24,8 @@ { PluginGraph graph = new PluginGraph(); graph.Assemblies.Add(Assembly.GetExecutingAssembly()); - PluginFamily family = graph.PluginFamilies.Add(typeof (IGenericService<>), "Default"); + PluginFamily family = graph.FindFamily(typeof (IGenericService<>)); + family.DefaultInstanceKey = "Default"; family.Plugins.Add(typeof (GenericService<>), "Default"); graph.Seal(); @@ -92,7 +93,7 @@ public void CanEmitInstanceBuilderForATypeWithConstructorArguments() { PluginGraph graph = new PluginGraph(); - PluginFamily family = graph.PluginFamilies.Add(typeof (ComplexType<int>)); + PluginFamily family = graph.FindFamily(typeof (ComplexType<int>)); family.Plugins.Add(typeof (ComplexType<int>), "complex"); InstanceManager manager = new InstanceManager(graph); @@ -112,13 +113,13 @@ { PluginGraph graph = new PluginGraph(); graph.Assemblies.Add(Assembly.GetExecutingAssembly()); - PluginFamily family1 = graph.PluginFamilies.Add(typeof (IGenericService<int>), string.Empty); - PluginFamily family2 = graph.PluginFamilies.Add(typeof (IGenericService<string>), string.Empty); - PluginFamily family3 = graph.PluginFamilies.Add(typeof (IGenericService<>), string.Empty); + PluginFamily family1 = graph.FindFamily(typeof (IGenericService<int>)); + PluginFamily family2 = graph.FindFamily(typeof (IGenericService<string>)); + PluginFamily family3 = graph.FindFamily(typeof (IGenericService<>)); - Assert.AreSame(graph.PluginFamilies[typeof (IGenericService<int>)], family1); - Assert.AreSame(graph.PluginFamilies[typeof (IGenericService<string>)], family2); - Assert.AreSame(graph.PluginFamilies[typeof (IGenericService<>)], family3); + Assert.AreSame(graph.FindFamily(typeof(IGenericService<int>)), family1); + Assert.AreSame(graph.FindFamily(typeof(IGenericService<string>)), family2); + Assert.AreSame(graph.FindFamily(typeof(IGenericService<>)), family3); } [Test] @@ -126,11 +127,11 @@ { PluginGraph graph = new PluginGraph(); graph.Assemblies.Add(Assembly.GetExecutingAssembly()); - PluginFamily family1 = graph.PluginFamilies.Add(typeof (IGenericService<int>), string.Empty); - PluginFamily family2 = graph.PluginFamilies.Add(typeof (IGenericService<string>), string.Empty); + PluginFamily family1 = graph.FindFamily(typeof (IGenericService<int>)); + PluginFamily family2 = graph.FindFamily(typeof (IGenericService<string>)); - Assert.AreSame(graph.PluginFamilies[typeof (IGenericService<int>)], family1); - Assert.AreSame(graph.PluginFamilies[typeof (IGenericService<string>)], family2); + Assert.AreSame(graph.FindFamily(typeof (IGenericService<int>)), family1); + Assert.AreSame(graph.FindFamily(typeof (IGenericService<string>)), family2); } Modified: trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -31,7 +31,7 @@ public void BuildAnInstanceManagerFromTemplatedPluginFamily() { PluginGraph pluginGraph = new PluginGraph(); - PluginFamily family = pluginGraph.PluginFamilies.Add(typeof (IGenericService<>)); + PluginFamily family = pluginGraph.FindFamily(typeof (IGenericService<>)); family.DefaultInstanceKey = "Default"; family.Plugins.Add(typeof (GenericService<>), "Default"); family.Plugins.Add(typeof (SecondGenericService<>), "Second"); @@ -52,7 +52,7 @@ public void BuildTemplatedFamilyWithOnlyOneTemplateParameter() { PluginGraph pluginGraph = new PluginGraph(); - PluginFamily family = pluginGraph.PluginFamilies.Add(typeof(IGenericService<>)); + PluginFamily family = pluginGraph.FindFamily(typeof(IGenericService<>)); family.Plugins.Add(typeof (GenericService<>), "Default"); family.Plugins.Add(typeof (SecondGenericService<>), "Second"); family.Plugins.Add(typeof (ThirdGenericService<>), "Third"); @@ -72,7 +72,7 @@ public void BuildTemplatedFamilyWithThreeTemplateParameters() { PluginGraph pluginGraph = new PluginGraph(); - PluginFamily family = pluginGraph.PluginFamilies.Add(typeof(IGenericService3<,,>)); + PluginFamily family = pluginGraph.FindFamily(typeof(IGenericService3<,,>)); family.Plugins.Add(typeof (GenericService3<,,>), "Default"); family.Plugins.Add(typeof (SecondGenericService3<,,>), "Second"); family.Plugins.Add(typeof (ThirdGenericService3<,,>), "Third"); @@ -108,7 +108,7 @@ public void GetTemplatedFamily() { PluginGraph pluginGraph = new PluginGraph(); - PluginFamily family = pluginGraph.PluginFamilies.Add(typeof(IGenericService<>)); + PluginFamily family = pluginGraph.FindFamily(typeof(IGenericService<>)); family.Plugins.Add(typeof (GenericService<>), "Default"); family.Plugins.Add(typeof (SecondGenericService<>), "Second"); family.Plugins.Add(typeof (ThirdGenericService<>), "Third"); Modified: trunk/Source/StructureMap.Testing/Graph/PluginGraphTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Graph/PluginGraphTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Graph/PluginGraphTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -26,8 +26,8 @@ graph.Assemblies.Add("StructureMap.Testing.Widget"); - graph.PluginFamilies.Add(typeof (IWidget), "Blue"); - graph.PluginFamilies.Add(typeof (WidgetMaker), ""); + graph.FindFamily(typeof (IWidget)).DefaultInstanceKey = "Blue"; + graph.FindFamily(typeof (WidgetMaker)); graph.Seal(); @@ -37,7 +37,7 @@ Console.WriteLine(family.PluginType.AssemblyQualifiedName); } - Assert.AreEqual(5, graph.PluginFamilies.Count); + Assert.AreEqual(5, graph.FamilyCount); } [Test] @@ -47,11 +47,11 @@ graph.Assemblies.Add("StructureMap.Testing.Widget"); graph.Assemblies.Add("StructureMap.Testing.Widget2"); - graph.PluginFamilies.Add(typeof (Rule), string.Empty); + graph.FindFamily(typeof (Rule)); graph.Seal(); - PluginFamily family = graph.PluginFamilies[typeof (Rule)]; + PluginFamily family = graph.FindFamily(typeof (Rule)); Assert.IsNotNull(family); Assert.AreEqual(5, family.Plugins.Count, "There are 5 Rule classes in the two assemblies"); } @@ -63,12 +63,12 @@ PluginGraph graph = new PluginGraph(); graph.Assemblies.Add("StructureMap.Testing.Widget"); - graph.PluginFamilies.Add(typeof (IWidget), "Blue"); + graph.FindFamily(typeof (IWidget)).DefaultInstanceKey = "Blue"; TypePath path = new TypePath("StructureMap.Testing.Widget", "StructureMap.Testing.Widget.NotPluggableWidget"); - PluginFamily family = graph.PluginFamilies[typeof (IWidget)]; + PluginFamily family = graph.FindFamily(typeof (IWidget)); family.Plugins.Add(path, "NotPluggable"); graph.Seal(); @@ -88,10 +88,10 @@ PluginGraph graph = new PluginGraph(); graph.Assemblies.Add("StructureMap.Testing.Widget"); - graph.PluginFamilies.Add(typeof (IWidget), "Blue"); + graph.FindFamily(typeof (IWidget)).DefaultInstanceKey = "Blue"; graph.Seal(); - PluginFamily family = graph.PluginFamilies[typeof (IWidget)]; + PluginFamily family = graph.FindFamily(typeof (IWidget)); Assert.IsNotNull(family); Assert.AreEqual("Blue", family.DefaultInstanceKey); Modified: trunk/Source/StructureMap.Testing/Graph/SetterInjectionTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Graph/SetterInjectionTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/Graph/SetterInjectionTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -51,7 +51,7 @@ public void CreateSetterPropertyCollectionFromExplicitPlugin() { PluginGraph pluginGraph = getPluginGraph(); - Plugin plugin = pluginGraph.PluginFamilies[typeof (IGridColumn)].Plugins["Other"]; + Plugin plugin = pluginGraph.FindFamily(typeof (IGridColumn)).Plugins["Other"]; Assert.AreEqual(5, plugin.Setters.Count); Assert.IsTrue(plugin.Setters.Contains("Widget")); Modified: trunk/Source/StructureMap.Testing/InstanceMementoInstanceCreationTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/InstanceMementoInstanceCreationTester.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/InstanceMementoInstanceCreationTester.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -19,10 +19,10 @@ public void SetUp() { _graph = new PluginGraph(); - PluginFamily family = _graph.PluginFamilies.Add(typeof (IService)); + PluginFamily family = _graph.FindFamily(typeof (IService)); family.Plugins.Add(typeof(ColorService), "Color"); - _graph.PluginFamilies.Add(typeof (Rule)); + _graph.FindFamily(typeof (Rule)); } #endregion @@ -176,7 +176,7 @@ PluginGraph graph = new PluginGraph(); Plugin plugin = Plugin.CreateImplicitPlugin(typeof (ComplexRule)); - graph.PluginFamilies.Add(typeof (Rule)).Plugins.Add(plugin); + graph.FindFamily(typeof (Rule)).Plugins.Add(plugin); MemoryInstanceMemento memento = ComplexRule.GetMemento(); memento.SetProperty(XmlConstants.PLUGGED_TYPE, typeof (ComplexRule).AssemblyQualifiedName); @@ -209,7 +209,7 @@ PluginGraph graph = new PluginGraph(); Plugin plugin = Plugin.CreateImplicitPlugin(typeof (ComplexRule)); - graph.PluginFamilies.Add(typeof (Rule)).Plugins.Add(plugin); + graph.FindFamily(typeof (Rule)).Plugins.Add(plugin); MemoryInstanceMemento memento = ComplexRule.GetMemento(); memento.SetProperty(XmlConstants.PLUGGED_TYPE, typeof (ComplexRule).AssemblyQualifiedName); @@ -228,7 +228,7 @@ PluginGraph graph = new PluginGraph(); Plugin plugin = Plugin.CreateImplicitPlugin(typeof (ComplexRule)); - graph.PluginFamilies.Add(typeof (Rule)).Plugins.Add(plugin); + graph.FindFamily(typeof (Rule)).Plugins.Add(plugin); MemoryInstanceMemento memento = ComplexRule.GetMemento(); memento.SetProperty(XmlConstants.PLUGGED_TYPE, typeof (ComplexRule).AssemblyQualifiedName); @@ -243,7 +243,7 @@ PluginGraph graph = new PluginGraph(); Plugin plugin = Plugin.CreateImplicitPlugin(typeof (ComplexRule)); - graph.PluginFamilies.Add(typeof (Rule)).Plugins.Add(plugin); + graph.FindFamily(typeof (Rule)).Plugins.Add(plugin); MemoryInstanceMemento memento = ComplexRule.GetMemento(); memento.SetProperty(XmlConstants.PLUGGED_TYPE, typeof (ComplexRule).AssemblyQualifiedName); Modified: trunk/Source/StructureMap.Testing/ObjectMother.cs =================================================================== --- trunk/Source/StructureMap.Testing/ObjectMother.cs 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/ObjectMother.cs 2008-05-04 01:11:30 UTC (rev 89) @@ -37,7 +37,7 @@ public static PluginFamily GetPluginFamily(Type pluginType) { - return _pluginGraph.PluginFamilies[pluginType]; + return _pluginGraph.FindFamily(pluginType); } public static Plugin GetPlugin(Type pluginType, string concreteKey) @@ -73,7 +73,7 @@ public static InstanceFactory CreateInstanceFactory(Type pluginType, string[] assemblyNames) { PluginGraph pluginGraph = createPluginGraphFromAssemblyNames(assemblyNames); - pluginGraph.PluginFamilies.Add(pluginType, string.Empty); + pluginGraph.FindFamily(pluginType); pluginGraph.Seal(); InstanceManager manager = new InstanceManager(pluginGraph); Modified: trunk/Source/StructureMap.Testing/StructureMap.Testing.csproj =================================================================== --- trunk/Source/StructureMap.Testing/StructureMap.Testing.csproj 2008-05-03 17:52:03 UTC (rev 88) +++ trunk/Source/StructureMap.Testing/StructureMap.Testing.csproj 2008-05-04 01:11:30 UTC (rev 89) @@ -225,9 +225,6 @@ <Compile Include="Container\Interceptors\InterceptorLibraryTester.cs" /> <Compile Include="Container\Interceptors\MockTypeInterceptor.cs" /> <Compile Include="Container\Interceptors\TypeInterceptionTester.cs" /> - <Compile Include="Container\MockingTester.cs"> - <SubType>Code</SubType> - </Compile> <Compile Include="Container\PluggableAttributeTester.cs"> <SubType>Code</SubType> </Compile> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |