From: <jer...@us...> - 2009-12-28 05:14:51
|
Revision: 312 http://structuremap.svn.sourceforge.net/structuremap/?rev=312&view=rev Author: jeremydmiller Date: 2009-12-28 05:14:41 +0000 (Mon, 28 Dec 2009) Log Message: ----------- quickie code cleanup Modified Paths: -------------- trunk/Source/StructureMap/Configuration/ProfileBuilder.cs trunk/Source/StructureMap/Container.cs trunk/Source/StructureMap/Graph/FirstInterfaceConvention.cs trunk/Source/StructureMap/Graph/PluginFamily.cs trunk/Source/StructureMap/PipelineGraph.cs trunk/Source/StructureMap/Query/Model.cs trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs trunk/Source/StructureMap.Testing/Configuration/InlineInstanceDefinitionInProfileAndMachineNodesTester.cs trunk/Source/StructureMap.Testing/Configuration/ProfileBuilderTester.cs trunk/Source/StructureMap.Testing/Graph/FirstInterfaceConventionTester.cs trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs trunk/Source/StructureMap.Testing/SpecificationExtensions.cs Modified: trunk/Source/StructureMap/Configuration/ProfileBuilder.cs =================================================================== --- trunk/Source/StructureMap/Configuration/ProfileBuilder.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap/Configuration/ProfileBuilder.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -1,4 +1,3 @@ -using System; using StructureMap.Graph; using StructureMap.Pipeline; @@ -39,6 +38,5 @@ } #endregion - } } \ No newline at end of file Modified: trunk/Source/StructureMap/Container.cs =================================================================== --- trunk/Source/StructureMap/Container.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap/Container.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -64,13 +64,7 @@ /// <summary> /// Provides queryable access to the configured PluginType's and Instances of this Container /// </summary> - public IModel Model - { - get - { - return new Model(_pipelineGraph, this); - } - } + public IModel Model { get { return new Model(_pipelineGraph, this); } } /// <summary> /// Creates or finds the named instance of T Modified: trunk/Source/StructureMap/Graph/FirstInterfaceConvention.cs =================================================================== --- trunk/Source/StructureMap/Graph/FirstInterfaceConvention.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap/Graph/FirstInterfaceConvention.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -1,8 +1,8 @@ using System; using System.Diagnostics; +using System.Linq; using StructureMap.Configuration.DSL; using StructureMap.TypeRules; -using System.Linq; namespace StructureMap.Graph { @@ -11,9 +11,9 @@ public void Process(Type type, Registry registry) { if (!type.IsConcrete() || !type.CanBeCreated()) return; - - - var interfaceType = type.AllInterfaces().FirstOrDefault(); + + + Type interfaceType = type.AllInterfaces().FirstOrDefault(); if (interfaceType != null) { Debug.WriteLine("Plugging {0} into {1}".ToFormat(type.Name, interfaceType.Name)); Modified: trunk/Source/StructureMap/Graph/PluginFamily.cs =================================================================== --- trunk/Source/StructureMap/Graph/PluginFamily.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap/Graph/PluginFamily.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using StructureMap.Pipeline; -using StructureMap.Query; using StructureMap.TypeRules; using StructureMap.Util; @@ -328,6 +327,22 @@ _instances.WithValue(name, action); } + public void RemoveInstance(Instance instance) + { + _instances.Remove(instance.Name); + if (_defaultKey == instance.Name) + { + _defaultKey = null; + } + } + + public void RemoveAll() + { + _instances.Clear(); + _mementoList.Clear(); + _defaultKey = null; + } + #region properties public bool IsGenericTemplate { get { return _pluginType.IsGenericTypeDefinition || _pluginType.ContainsGenericParameters; } } @@ -348,29 +363,8 @@ /// The InstanceKey of the default instance of the PluginFamily /// </summary> [Obsolete] - public string DefaultInstanceKey - { - get { return _defaultKey; } - set { _defaultKey = value ?? string.Empty; } - } + public string DefaultInstanceKey { get { return _defaultKey; } set { _defaultKey = value ?? string.Empty; } } #endregion - - public void RemoveInstance(Instance instance) - { - _instances.Remove(instance.Name); - if (_defaultKey == instance.Name) - { - _defaultKey = null; - } - - } - - public void RemoveAll() - { - _instances.Clear(); - _mementoList.Clear(); - _defaultKey = null; - } } } \ No newline at end of file Modified: trunk/Source/StructureMap/PipelineGraph.cs =================================================================== --- trunk/Source/StructureMap/PipelineGraph.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap/PipelineGraph.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -188,7 +188,7 @@ public void EjectAllInstancesOf<T>() { - EjectAllInstancesOf(typeof(T)); + EjectAllInstancesOf(typeof (T)); } public void EjectAllInstancesOf(Type pluginType) @@ -250,8 +250,5 @@ ForType(pluginType).RemoveInstance(instance); _profileManager.RemoveInstance(pluginType, instance); } - - - } } \ No newline at end of file Modified: trunk/Source/StructureMap/Query/Model.cs =================================================================== --- trunk/Source/StructureMap/Query/Model.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap/Query/Model.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -7,8 +7,8 @@ { public class Model : IModel { - private PipelineGraph _graph; - private IContainer _container; + private readonly IContainer _container; + private readonly PipelineGraph _graph; internal Model(PipelineGraph graph, IContainer container) { @@ -18,6 +18,8 @@ #region IModel Members + private IEnumerable<IPluginTypeConfiguration> pluginTypes { get { return _graph.GetPluginTypes(_container); } } + public bool HasDefaultImplementationFor(Type pluginType) { return findForFamily(pluginType, f => f.Default != null); @@ -38,14 +40,6 @@ return findForFamily(pluginType, f => f.Default == null ? null : f.Default.ConcreteType); } - private IEnumerable<IPluginTypeConfiguration> pluginTypes - { - get - { - return _graph.GetPluginTypes(_container); - } - } - public IEnumerable<IPluginTypeConfiguration> PluginTypes { get { return pluginTypes; } } /// <summary> @@ -78,10 +72,7 @@ EjectAndRemovePluginTypes(filter); // second pass to hit instances - pluginTypes.Each(x => - { - x.EjectAndRemove(i => filter(i.ConcreteType)); - }); + pluginTypes.Each(x => { x.EjectAndRemove(i => filter(i.ConcreteType)); }); } /// <summary> Modified: trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -23,7 +23,8 @@ { public RedGreenRegistry() { - InstanceOf<IWidget>().Is.OfConcreteType<ColorWidget>().WithCtorArg("color").EqualTo("Red").WithName("Red"); + InstanceOf<IWidget>().Is.OfConcreteType<ColorWidget>().WithCtorArg("color").EqualTo("Red").WithName( + "Red"); InstanceOf<IWidget>().Is.OfConcreteType<ColorWidget>().WithCtorArg("color").EqualTo("Green").WithName( "Green"); } @@ -35,7 +36,8 @@ { InstanceOf<IWidget>().Is.OfConcreteType<ColorWidget>().WithCtorArg("color").EqualTo("Yellow").WithName( "Yellow"); - InstanceOf<IWidget>().Is.OfConcreteType<ColorWidget>().WithProperty("color").EqualTo("Blue").WithName("Blue"); + InstanceOf<IWidget>().Is.OfConcreteType<ColorWidget>().WithProperty("color").EqualTo("Blue").WithName( + "Blue"); } } @@ -47,22 +49,7 @@ } } - [Test] - public void include_a_registry() - { - var registry = new Registry(); - registry.IncludeRegistry<YellowBlueRegistry>(); - registry.IncludeRegistry<RedGreenRegistry>(); - registry.IncludeRegistry<PurpleRegistry>(); - var container = new Container(registry); - - container.GetInstance<IWidget>().ShouldBeOfType<AWidget>(); - - container.GetAllInstances<IWidget>().Count.ShouldEqual(5); - } - - [Test] public void Can_add_an_instance_for_concrete_class_with_no_constructors() { @@ -91,6 +78,21 @@ } [Test] + public void include_a_registry() + { + var registry = new Registry(); + registry.IncludeRegistry<YellowBlueRegistry>(); + registry.IncludeRegistry<RedGreenRegistry>(); + registry.IncludeRegistry<PurpleRegistry>(); + + var container = new Container(registry); + + container.GetInstance<IWidget>().ShouldBeOfType<AWidget>(); + + container.GetAllInstances<IWidget>().Count.ShouldEqual(5); + } + + [Test] public void Latch_on_a_PluginGraph() { var registry2 = new TestRegistry2(); Modified: trunk/Source/StructureMap.Testing/Configuration/InlineInstanceDefinitionInProfileAndMachineNodesTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/InlineInstanceDefinitionInProfileAndMachineNodesTester.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap.Testing/Configuration/InlineInstanceDefinitionInProfileAndMachineNodesTester.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -1,5 +1,4 @@ using NUnit.Framework; -using StructureMap.Configuration; using StructureMap.Graph; using StructureMap.Testing.TestData; using StructureMap.Testing.Widget; Modified: trunk/Source/StructureMap.Testing/Configuration/ProfileBuilderTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/ProfileBuilderTester.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap.Testing/Configuration/ProfileBuilderTester.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -74,6 +74,5 @@ Assert.AreEqual(280, ex.ErrorCode); } } - } } \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/Graph/FirstInterfaceConventionTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Graph/FirstInterfaceConventionTester.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap.Testing/Graph/FirstInterfaceConventionTester.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -1,7 +1,5 @@ -using System.Diagnostics; +using System.Linq; using NUnit.Framework; -using System.Linq; -using StructureMap.Testing.Widget; using StructureMap.Testing.Widget3; using StructureMap.TypeRules; @@ -10,7 +8,7 @@ [TestFixture] public class FirstInterfaceConventionTester { - private Container container; + #region Setup/Teardown [SetUp] public void SetUp() @@ -22,31 +20,36 @@ o.TheCallingAssembly(); o.RegisterConcreteTypesAgainstTheFirstInterface(); - o.Exclude(t => t.CanBeCastTo(typeof(IGateway))); + o.Exclude(t => t.CanBeCastTo(typeof (IGateway))); }); }); } - [Test] - public void simple_case() + #endregion + + private Container container; + + + public interface I1 { - container.Model.For<I1>().Instances.Select(x => x.ConcreteType).ShouldHaveTheSameElementsAs(typeof(C1), typeof(C2)); - container.Model.For<I2>().Instances.Select(x => x.ConcreteType).Any().ShouldBeFalse(); } - [Test] - public void do_not_register_type_if_there_are_primitive_arguments() + public interface I2 { - container.Model.HasImplementationsFor<I3>().ShouldBeFalse(); } + public interface I3 + { + } - public interface I1 { } - public interface I2 { } - public interface I3 { } + public class C1 : I1 + { + } - public class C1 : I1 { } - public class C2 : C1, I2 { } + public class C2 : C1, I2 + { + } + public class C3 : C2, I3 { public C3(string name) @@ -56,24 +59,51 @@ public class C4 { - } public class C5 : I1 { - private C5(){} + private C5() + { + } } - public interface I1<T> { } - public interface I2<T> { } - public interface I3<T> { } + public interface I1<T> + { + } - public class C1<T> : I1<T> { } - public class C2<T> : C1<T>, I2<T> { } - public class C3<T> : C2<T>, I3<T> { } + public interface I2<T> + { + } - } + public interface I3<T> + { + } + public class C1<T> : I1<T> + { + } -} + public class C2<T> : C1<T>, I2<T> + { + } + public class C3<T> : C2<T>, I3<T> + { + } + + [Test] + public void do_not_register_type_if_there_are_primitive_arguments() + { + container.Model.HasImplementationsFor<I3>().ShouldBeFalse(); + } + + [Test] + public void simple_case() + { + container.Model.For<I1>().Instances.Select(x => x.ConcreteType).ShouldHaveTheSameElementsAs(typeof (C1), + typeof (C2)); + container.Model.For<I2>().Instances.Select(x => x.ConcreteType).Any().ShouldBeFalse(); + } + } +} \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -196,33 +196,33 @@ } [Test] - public void set_default() + public void remove_all_clears_the_defaul_and_removes_all_plugins_instances() { var family = new PluginFamily(typeof (IServiceProvider)); var instance = new SmartInstance<DataSet>(); family.SetDefault(instance); - family.GetDefaultInstance().ShouldBeTheSameAs(instance); - family.DefaultInstanceKey.ShouldEqual(instance.Name); + family.AddInstance(new NullInstance()); + family.AddType(typeof (DataSet)); + + family.RemoveAll(); + + family.DefaultInstanceKey.ShouldBeNull(); + + family.InstanceCount.ShouldEqual(0); } [Test] - public void remove_all_clears_the_defaul_and_removes_all_plugins_instances() + public void set_default() { - var family = new PluginFamily(typeof(IServiceProvider)); + var family = new PluginFamily(typeof (IServiceProvider)); var instance = new SmartInstance<DataSet>(); family.SetDefault(instance); - family.AddInstance(new NullInstance()); - family.AddType(typeof(DataSet)); - - family.RemoveAll(); - - family.DefaultInstanceKey.ShouldBeNull(); - - family.InstanceCount.ShouldEqual(0); + family.GetDefaultInstance().ShouldBeTheSameAs(instance); + family.DefaultInstanceKey.ShouldEqual(instance.Name); } [Test] Modified: trunk/Source/StructureMap.Testing/SpecificationExtensions.cs =================================================================== --- trunk/Source/StructureMap.Testing/SpecificationExtensions.cs 2009-12-28 05:04:44 UTC (rev 311) +++ trunk/Source/StructureMap.Testing/SpecificationExtensions.cs 2009-12-28 05:14:41 UTC (rev 312) @@ -44,7 +44,7 @@ catch (Exception) { Debug.WriteLine("ACTUAL:"); - foreach (var o in actual) + foreach (object o in actual) { Debug.WriteLine(o); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |