|
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.
|