From: <jer...@us...> - 2009-12-28 01:43:29
|
Revision: 307 http://structuremap.svn.sourceforge.net/structuremap/?rev=307&view=rev Author: jeremydmiller Date: 2009-12-28 01:43:19 +0000 (Mon, 28 Dec 2009) Log Message: ----------- code cleanup after all the work on the Model rewrite Modified Paths: -------------- trunk/Source/StructureMap/Configuration/DSL/Registry.cs trunk/Source/StructureMap/Container.cs trunk/Source/StructureMap/Diagnostics/ValidationBuildSession.cs trunk/Source/StructureMap/Diagnostics/WhatDoIHaveWriter.cs trunk/Source/StructureMap/Graph/AssemblyScanner.cs trunk/Source/StructureMap/Graph/FindAllTypesFilter.cs trunk/Source/StructureMap/Graph/GenericsPluginGraph.cs trunk/Source/StructureMap/Graph/ImplementationMap.cs trunk/Source/StructureMap/Graph/PluginFamily.cs trunk/Source/StructureMap/Graph/PluginGraph.cs trunk/Source/StructureMap/Pipeline/HttpContextLifecycle.cs trunk/Source/StructureMap/Pipeline/HttpLifecycleBase.cs trunk/Source/StructureMap/Pipeline/HybridLifecycle.cs trunk/Source/StructureMap/Pipeline/HybridSessionLifecycle.cs trunk/Source/StructureMap/Pipeline/ILifecycle.cs trunk/Source/StructureMap/Pipeline/MainObjectCache.cs trunk/Source/StructureMap/Pipeline/SingletonLifecycle.cs trunk/Source/StructureMap/Pipeline/ThreadLocalStorageLifecycle.cs trunk/Source/StructureMap/Pipeline/UniquePerRequestLifecycle.cs trunk/Source/StructureMap/PipelineGraph.cs trunk/Source/StructureMap/Query/EmptyConfiguration.cs trunk/Source/StructureMap/Query/GenericFamilyConfiguration.cs trunk/Source/StructureMap/Query/IModel.cs trunk/Source/StructureMap/Query/Model.cs trunk/Source/StructureMap/TypeExtensions.cs trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizerObjectSource.cs trunk/Source/StructureMap.Testing/AlternativeConfigurationTester.cs trunk/Source/StructureMap.Testing/Attributes/PluginFamilyAttributeTester.cs trunk/Source/StructureMap.Testing/AutoMocking/AutoMockerTester.cs trunk/Source/StructureMap.Testing/AutoMocking/MoqAutoMockerTester.cs trunk/Source/StructureMap.Testing/AutoMocking/MoqFactoryTester.cs trunk/Source/StructureMap.Testing/AutoMocking/RhinoAutoMockerTester.cs trunk/Source/StructureMap.Testing/AutoMocking/RhinoMockRepositoryProxyTester.cs trunk/Source/StructureMap.Testing/AutoWiringExamples.cs trunk/Source/StructureMap.Testing/BidirectionalDependencies.cs trunk/Source/StructureMap.Testing/Bugs/AddValueDirectlyWithGenericUsage.cs trunk/Source/StructureMap.Testing/Bugs/BuildUpBug.cs trunk/Source/StructureMap.Testing/Bugs/FillAllPropertiesShouldWorkForAlreadyConfiguredPluginsBug.cs trunk/Source/StructureMap.Testing/Bugs/HttpSessionNullRefBug.cs trunk/Source/StructureMap.Testing/Bugs/IDictionaryAndXmlBugTester.cs trunk/Source/StructureMap.Testing/Bugs/InjectByFuncWithNoPublicConstructors.cs trunk/Source/StructureMap.Testing/Bugs/LambdaCreatesNullBugTester.cs trunk/Source/StructureMap.Testing/Bugs/MixedConfigureAndInitializeMissingInstanceProblem.cs trunk/Source/StructureMap.Testing/Bugs/ScanIndexerBugTester.cs trunk/Source/StructureMap.Testing/Bugs/SpecifyScopeInConfigureTester.cs trunk/Source/StructureMap.Testing/Bugs/SpecifyScopeOnOpenGenericsTester.cs trunk/Source/StructureMap.Testing/Bugs/StaticPropertyCausesJITExceptionTester.cs trunk/Source/StructureMap.Testing/Bugs/TryGetInstanceWithOpenGenericsBugTester.cs trunk/Source/StructureMap.Testing/BuildSessionTester.cs trunk/Source/StructureMap.Testing/BuildUpIntegratedTester.cs trunk/Source/StructureMap.Testing/BuildUpTester.cs trunk/Source/StructureMap.Testing/ConcreteClassCreationTester.cs trunk/Source/StructureMap.Testing/Configuration/ConfigurationParserBuilderTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/CreatePluginFamilyTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/GenericFamilyExpressionTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/InjectArrayTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/InterceptAllInstancesOfPluginTypeTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/InterceptorTesting.cs trunk/Source/StructureMap.Testing/Configuration/DSL/ProfileExpressionTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/ProgrammaticConstructorSelectionTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs trunk/Source/StructureMap.Testing/Configuration/NormalGraphBuilderTester.cs trunk/Source/StructureMap.Testing/Configuration/PrimitiveArrayReaderTester.cs trunk/Source/StructureMap.Testing/Configuration/ProfileBuilderTester.cs trunk/Source/StructureMap.Testing/Construction/BuilderCompilerTester.cs trunk/Source/StructureMap.Testing/Construction/ConstructorFunctionBuilderTester.cs trunk/Source/StructureMap.Testing/Construction/SetterBuilderTester.cs trunk/Source/StructureMap.Testing/Construction/StubArguments.cs trunk/Source/StructureMap.Testing/Debugging.cs trunk/Source/StructureMap.Testing/Examples.cs trunk/Source/StructureMap.Testing/Graph/AssemblyScannerTester.cs trunk/Source/StructureMap.Testing/Graph/DefaultConventionScanningTester.cs trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs trunk/Source/StructureMap.Testing/Graph/SingleImplementationScannerTester.cs trunk/Source/StructureMap.Testing/ModelQueryTester.cs trunk/Source/StructureMap.Testing/Pipeline/ContainerDisposalTester.cs trunk/Source/StructureMap.Testing/Pipeline/MainObjectCacheTester.cs trunk/Source/StructureMap.Testing/Pipeline/ObjectBuilderTester.cs trunk/Source/StructureMap.Testing/Query/GenericFamilyConfigurationTester.cs trunk/Source/StructureMap.Testing/Query/InstanceFactoryTypeConfigurationTester.cs trunk/Source/StructureMap.Testing/Query/InstanceRefTester.cs trunk/Source/StructureMap.Testing/Query/ModelIntegrationTester.cs trunk/Source/StructureMap.Testing/TypeExtensionsTester.cs trunk/Source/StructureMap.Testing.Widget/AssemblyInfo.cs trunk/Source/StructureMap.Testing.Widget/BuilderSamples.cs trunk/Source/StructureMap.Testing.Widget/Decision.cs trunk/Source/StructureMap.Testing.Widget/TypeSerializerTemplate.cs trunk/Source/StructureMap.Testing.Widget2/AssemblyInfo.cs trunk/Source/StructureMap.Testing.Widget2/DefaultRule.cs trunk/Source/StructureMap.Testing.Widget2/EnumerationCheck.cs trunk/Source/StructureMap.Testing.Widget3/AssemblyInfo.cs trunk/Source/StructureMap.Testing.Widget4/AssemblyInfo.cs trunk/Source/StructureMap.Testing.Widget4/Strategy.cs trunk/Source/StructureMap.Testing.Widget5/AssemblyInfo.cs trunk/Source/StructureMap.Testing.Widget5/BadSetterClass.cs trunk/Source/StructureMap.Testing.Widget5/LinkGridColumn.cs trunk/Source/TableOfContentsBuilder/Properties/AssemblyInfo.cs trunk/Source/TableOfContentsBuilder/XmlExtensions.cs Modified: trunk/Source/StructureMap/Configuration/DSL/Registry.cs =================================================================== --- trunk/Source/StructureMap/Configuration/DSL/Registry.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Configuration/DSL/Registry.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -301,29 +301,7 @@ _actions.Add(registry.ConfigurePluginGraph); } - protected void registerAction(Action action) - { - _basicActions.Add(action); - } - internal void addExpression(Action<PluginGraph> alteration) - { - _actions.Add(alteration); - } - - internal void ConfigurePluginGraph(PluginGraph graph) - { - if (graph.Registries.Contains(this)) return; - - graph.Log.StartSource("Registry: " + GetType().AssemblyQualifiedName); - - _basicActions.ForEach(action => action()); - _actions.ForEach(action => action(graph)); - - graph.Registries.Add(this); - } - - /// <summary> /// Expression Builder used to define policies for a PluginType including /// Scoping, the Default Instance, and interception. BuildInstancesOf() @@ -456,26 +434,6 @@ action(expression); } - internal static bool IsPublicRegistry(Type type) - { - if (type.Assembly == typeof (Registry).Assembly) - { - return false; - } - - if (!typeof (Registry).IsAssignableFrom(type)) - { - return false; - } - - if (type.IsInterface || type.IsAbstract || type.IsGenericType) - { - return false; - } - - return (type.GetConstructor(new Type[0]) != null); - } - /// <summary> /// Registers a new TypeInterceptor object with the Container /// </summary> @@ -515,29 +473,6 @@ _actions.Add(graph => graph.AddScanner(scanner)); } - public bool Equals(Registry obj) - { - if (ReferenceEquals(null, obj)) return false; - return GetType().Equals(obj.GetType()); - } - - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - - if (obj is Registry) return false; - - - if (obj.GetType() != typeof (Registry)) return false; - return Equals((Registry) obj); - } - - public override int GetHashCode() - { - return 0; - } - /// <summary> /// Directs StructureMap to always inject dependencies into any and all public Setter properties /// of the type PLUGINTYPE. @@ -658,6 +593,71 @@ _actions.Add(configure); } + protected void registerAction(Action action) + { + _basicActions.Add(action); + } + + internal void addExpression(Action<PluginGraph> alteration) + { + _actions.Add(alteration); + } + + internal void ConfigurePluginGraph(PluginGraph graph) + { + if (graph.Registries.Contains(this)) return; + + graph.Log.StartSource("Registry: " + GetType().AssemblyQualifiedName); + + _basicActions.ForEach(action => action()); + _actions.ForEach(action => action(graph)); + + graph.Registries.Add(this); + } + + internal static bool IsPublicRegistry(Type type) + { + if (type.Assembly == typeof (Registry).Assembly) + { + return false; + } + + if (!typeof (Registry).IsAssignableFrom(type)) + { + return false; + } + + if (type.IsInterface || type.IsAbstract || type.IsGenericType) + { + return false; + } + + return (type.GetConstructor(new Type[0]) != null); + } + + public bool Equals(Registry obj) + { + if (ReferenceEquals(null, obj)) return false; + return GetType().Equals(obj.GetType()); + } + + public override bool Equals(object obj) + { + if (ReferenceEquals(null, obj)) return false; + if (ReferenceEquals(this, obj)) return true; + + if (obj is Registry) return false; + + + if (obj.GetType() != typeof (Registry)) return false; + return Equals((Registry) obj); + } + + public override int GetHashCode() + { + return 0; + } + #region Nested type: BuildWithExpression /// <summary> Modified: trunk/Source/StructureMap/Container.cs =================================================================== --- trunk/Source/StructureMap/Container.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Container.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -470,7 +470,30 @@ #endregion + /// <summary> + /// Injects the given object into a Container as the default for the designated + /// PLUGINTYPE. Mostly used for temporarily setting up return values of the Container + /// to introduce mocks or stubs during automated testing scenarios + /// </summary> + /// <typeparam name="PLUGINTYPE"></typeparam> + /// <param name="instance"></param> + public void Inject<PLUGINTYPE>(PLUGINTYPE instance) + { + Configure(x => x.For<PLUGINTYPE>().Use(instance)); + } + /// <summary> + /// Injects the given object into a Container as the default for the designated + /// pluginType. Mostly used for temporarily setting up return values of the Container + /// to introduce mocks or stubs during automated testing scenarios + /// </summary> + /// <param name="pluginType"></param> + /// <param name="object"></param> + public void Inject(Type pluginType, object @object) + { + Configure(x => x.For(pluginType).Use(@object)); + } + private object buildInstanceWithArgs(Type pluginType, Instance defaultInstance, ExplicitArguments args, string requestedName) { @@ -510,16 +533,14 @@ } _pluginGraph = pluginGraph; - + var thisInstance = new ObjectInstance(this); - _pluginGraph.FindFamily(typeof(IContainer)).AddInstance(thisInstance); - _pluginGraph.ProfileManager.SetDefault(typeof(IContainer), thisInstance); + _pluginGraph.FindFamily(typeof (IContainer)).AddInstance(thisInstance); + _pluginGraph.ProfileManager.SetDefault(typeof (IContainer), thisInstance); pluginGraph.Log.AssertFailures(); _pipelineGraph = new PipelineGraph(pluginGraph); - - } [Obsolete("delegate to something cleaner in BuildSession")] @@ -598,31 +619,5 @@ } #endregion - - /// <summary> - /// Injects the given object into a Container as the default for the designated - /// PLUGINTYPE. Mostly used for temporarily setting up return values of the Container - /// to introduce mocks or stubs during automated testing scenarios - /// </summary> - /// <typeparam name="PLUGINTYPE"></typeparam> - /// <param name="instance"></param> - public void Inject<PLUGINTYPE>(PLUGINTYPE instance) - { - Configure(x => x.For<PLUGINTYPE>().Use(instance)); - } - - /// <summary> - /// Injects the given object into a Container as the default for the designated - /// pluginType. Mostly used for temporarily setting up return values of the Container - /// to introduce mocks or stubs during automated testing scenarios - /// </summary> - /// <param name="pluginType"></param> - /// <param name="object"></param> - public void Inject(Type pluginType, object @object) - { - Configure(x => x.For(pluginType).Use(@object)); - } - - } } \ No newline at end of file Modified: trunk/Source/StructureMap/Diagnostics/ValidationBuildSession.cs =================================================================== --- trunk/Source/StructureMap/Diagnostics/ValidationBuildSession.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Diagnostics/ValidationBuildSession.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -6,7 +6,6 @@ using StructureMap.Graph; using StructureMap.Interceptors; using StructureMap.Pipeline; -using StructureMap.Query; namespace StructureMap.Diagnostics { Modified: trunk/Source/StructureMap/Diagnostics/WhatDoIHaveWriter.cs =================================================================== --- trunk/Source/StructureMap/Diagnostics/WhatDoIHaveWriter.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Diagnostics/WhatDoIHaveWriter.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.IO; using System.Text; -using StructureMap.Pipeline; using StructureMap.Query; using StructureMap.TypeRules; Modified: trunk/Source/StructureMap/Graph/AssemblyScanner.cs =================================================================== --- trunk/Source/StructureMap/Graph/AssemblyScanner.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Graph/AssemblyScanner.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -93,8 +93,8 @@ } public void Convention<T>() where T : IRegistrationConvention, new() - { - var previous = _conventions.FirstOrDefault(scanner => scanner is T); + { + IRegistrationConvention previous = _conventions.FirstOrDefault(scanner => scanner is T); if (previous == null) { With(new T()); Modified: trunk/Source/StructureMap/Graph/FindAllTypesFilter.cs =================================================================== --- trunk/Source/StructureMap/Graph/FindAllTypesFilter.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Graph/FindAllTypesFilter.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -14,11 +14,6 @@ _pluginType = pluginType; } - public void NameBy(Func<Type, string> getName) - { - _getName = getName; - } - public void Process(Type type, Registry registry) { if (type.CanBeCastTo(_pluginType) && Constructor.HasConstructors(type)) @@ -27,5 +22,10 @@ registry.AddType(_pluginType, type, name); } } + + public void NameBy(Func<Type, string> getName) + { + _getName = getName; + } } } \ No newline at end of file Modified: trunk/Source/StructureMap/Graph/GenericsPluginGraph.cs =================================================================== --- trunk/Source/StructureMap/Graph/GenericsPluginGraph.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Graph/GenericsPluginGraph.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using StructureMap.Pipeline; -using StructureMap.Query; using StructureMap.Util; namespace StructureMap.Graph @@ -17,13 +16,7 @@ public int FamilyCount { get { return _families.Count; } } - public IEnumerable<PluginFamily> Families - { - get - { - return _families.GetAll(); - } - } + public IEnumerable<PluginFamily> Families { get { return _families.GetAll(); } } public GenericsPluginGraph Clone() { Modified: trunk/Source/StructureMap/Graph/ImplementationMap.cs =================================================================== --- trunk/Source/StructureMap/Graph/ImplementationMap.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Graph/ImplementationMap.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -11,6 +11,11 @@ { private readonly Cache<Type, List<Type>> _types = new Cache<Type, List<Type>>(t => new List<Type>()); + public void Process(Type type, Registry registry) + { + RegisterType(type); + } + public void Register(Type interfaceType, Type concreteType) { _types[interfaceType].Add(concreteType); @@ -33,10 +38,5 @@ } }); } - - public void Process(Type type, Registry registry) - { - RegisterType(type); - } } } \ No newline at end of file Modified: trunk/Source/StructureMap/Graph/PluginFamily.cs =================================================================== --- trunk/Source/StructureMap/Graph/PluginFamily.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Graph/PluginFamily.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using StructureMap.Pipeline; -using StructureMap.Query; using StructureMap.TypeRules; using StructureMap.Util; @@ -46,6 +45,7 @@ } public PluginGraph Parent { get { return _parent; } set { _parent = value; } } + public IEnumerable<Instance> Instances { get { return _instances.GetAll(); } } #region IPluginFamily Members @@ -168,14 +168,6 @@ } - public IEnumerable<Instance> Instances - { - get - { - return _instances.GetAll(); - } - } - public Instance GetInstance(string name) { return _instances[name]; Modified: trunk/Source/StructureMap/Graph/PluginGraph.cs =================================================================== --- trunk/Source/StructureMap/Graph/PluginGraph.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Graph/PluginGraph.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Reflection; using StructureMap.Configuration.DSL; using StructureMap.Diagnostics; using StructureMap.Interceptors; using StructureMap.Pipeline; -using System.Linq; namespace StructureMap.Graph { @@ -224,7 +224,7 @@ { if (Registries.Any(x => x.GetType() == type)) return; - var registry = (Registry)Activator.CreateInstance(type); + var registry = (Registry) Activator.CreateInstance(type); registry.ConfigurePluginGraph(this); } } Modified: trunk/Source/StructureMap/Pipeline/HttpContextLifecycle.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/HttpContextLifecycle.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Pipeline/HttpContextLifecycle.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,4 +1,3 @@ -using System; using System.Collections; using System.Web; @@ -35,10 +34,7 @@ return (IObjectCache) items[ITEM_NAME]; } - public string Scope - { - get { return InstanceScope.HttpContext.ToString(); } - } + public string Scope { get { return InstanceScope.HttpContext.ToString(); } } public static bool HasContext() { Modified: trunk/Source/StructureMap/Pipeline/HttpLifecycleBase.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/HttpLifecycleBase.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Pipeline/HttpLifecycleBase.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,5 +1,3 @@ -using System; - namespace StructureMap.Pipeline { public abstract class HttpLifecycleBase<HTTP, NONHTTP> : ILifecycle @@ -28,6 +26,6 @@ : _nonHttp.FindCache(); } - public abstract string Scope { get;} + public abstract string Scope { get; } } } \ No newline at end of file Modified: trunk/Source/StructureMap/Pipeline/HybridLifecycle.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/HybridLifecycle.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Pipeline/HybridLifecycle.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -2,9 +2,6 @@ { public class HybridLifecycle : HttpLifecycleBase<HttpContextLifecycle, ThreadLocalStorageLifecycle> { - public override string Scope - { - get { return InstanceScope.Hybrid.ToString(); } - } + public override string Scope { get { return InstanceScope.Hybrid.ToString(); } } } } \ No newline at end of file Modified: trunk/Source/StructureMap/Pipeline/HybridSessionLifecycle.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/HybridSessionLifecycle.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Pipeline/HybridSessionLifecycle.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,12 +1,7 @@ -using System; - namespace StructureMap.Pipeline { public class HybridSessionLifecycle : HttpLifecycleBase<HttpSessionLifecycle, ThreadLocalStorageLifecycle> { - public override string Scope - { - get { return InstanceScope.HybridHttpSession.ToString(); } - } + public override string Scope { get { return InstanceScope.HybridHttpSession.ToString(); } } } } \ No newline at end of file Modified: trunk/Source/StructureMap/Pipeline/ILifecycle.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/ILifecycle.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Pipeline/ILifecycle.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,11 +1,9 @@ -using StructureMap.Attributes; - namespace StructureMap.Pipeline { public interface ILifecycle { + string Scope { get; } void EjectAll(); IObjectCache FindCache(); - string Scope { get; } } } \ No newline at end of file Modified: trunk/Source/StructureMap/Pipeline/MainObjectCache.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/MainObjectCache.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Pipeline/MainObjectCache.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using StructureMap.Util; namespace StructureMap.Pipeline Modified: trunk/Source/StructureMap/Pipeline/SingletonLifecycle.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/SingletonLifecycle.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Pipeline/SingletonLifecycle.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,5 +1,3 @@ -using System; - namespace StructureMap.Pipeline { public class SingletonLifecycle : ILifecycle @@ -16,9 +14,6 @@ return _cache; } - public string Scope - { - get { return InstanceScope.Singleton.ToString(); } - } + public string Scope { get { return InstanceScope.Singleton.ToString(); } } } } \ No newline at end of file Modified: trunk/Source/StructureMap/Pipeline/ThreadLocalStorageLifecycle.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/ThreadLocalStorageLifecycle.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Pipeline/ThreadLocalStorageLifecycle.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -18,10 +18,7 @@ return _cache; } - public string Scope - { - get { return InstanceScope.ThreadLocal.ToString(); } - } + public string Scope { get { return InstanceScope.ThreadLocal.ToString(); } } private void guaranteeHashExists() { Modified: trunk/Source/StructureMap/Pipeline/UniquePerRequestLifecycle.cs =================================================================== --- trunk/Source/StructureMap/Pipeline/UniquePerRequestLifecycle.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Pipeline/UniquePerRequestLifecycle.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,5 +1,3 @@ -using System; - namespace StructureMap.Pipeline { /// <summary> @@ -16,10 +14,6 @@ return new NulloObjectCache(); } - public string Scope - { - get { return InstanceScope.Unique.ToString(); } } - - + public string Scope { get { return InstanceScope.Unique.ToString(); } } } } \ No newline at end of file Modified: trunk/Source/StructureMap/PipelineGraph.cs =================================================================== --- trunk/Source/StructureMap/PipelineGraph.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/PipelineGraph.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -58,19 +58,6 @@ public string CurrentProfile { get { return _profileManager.CurrentProfile; } set { _profileManager.CurrentProfile = value; } } - public IEnumerable<IPluginTypeConfiguration> GetPluginTypes(IContainer container) - { - foreach (PluginFamily family in _genericsGraph.Families) - { - yield return new GenericFamilyConfiguration(family); - } - - foreach (IInstanceFactory factory in _factories.Values.ToArray()) - { - yield return new InstanceFactoryTypeConfiguration(factory.PluginType, container, this); - } - } - public void Dispose() { if (_factories.ContainsKey(typeof (IContainer))) @@ -96,6 +83,19 @@ _transientCache.DisposeAndClear(); } + public IEnumerable<IPluginTypeConfiguration> GetPluginTypes(IContainer container) + { + foreach (PluginFamily family in _genericsGraph.Families) + { + yield return new GenericFamilyConfiguration(family); + } + + foreach (IInstanceFactory factory in _factories.Values.ToArray()) + { + yield return new InstanceFactoryTypeConfiguration(factory.PluginType, container, this); + } + } + public PipelineGraph ToNestedGraph() { var clone = new PipelineGraph(_profileManager.Clone(), _genericsGraph.Clone(), _log) @@ -221,10 +221,7 @@ public void EachInstance(Action<Type, Instance> action) { - _factories.Values.Each(f => - { - f.AllInstances.Each(i => action(f.PluginType, i)); - }); + _factories.Values.Each(f => { f.AllInstances.Each(i => action(f.PluginType, i)); }); } public IObjectCache FindCache(Type pluginType) Modified: trunk/Source/StructureMap/Query/EmptyConfiguration.cs =================================================================== --- trunk/Source/StructureMap/Query/EmptyConfiguration.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Query/EmptyConfiguration.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -12,33 +12,24 @@ _pluginType = pluginType; } - public Type PluginType - { - get { return _pluginType; } - } + public Type PluginType { get { return _pluginType; } } /// <summary> /// The "instance" that will be used when Container.GetInstance(PluginType) is called. /// See <see cref="InstanceRef">InstanceRef</see> for more information /// </summary> - public InstanceRef Default - { - get { return null; } } + public InstanceRef Default { get { return null; } } /// <summary> /// The build "policy" for this PluginType. Used by the WhatDoIHave() diagnostics methods /// </summary> - public string Lifecycle - { - get { return null; } } + public string Lifecycle { get { return null; } } /// <summary> /// All of the <see cref="InstanceRef">InstanceRef</see>'s registered /// for this PluginType /// </summary> - public IEnumerable<InstanceRef> Instances - { - get { return new InstanceRef[0]; } } + public IEnumerable<InstanceRef> Instances { get { return new InstanceRef[0]; } } /// <summary> /// Simply query to see if there are any implementations registered Modified: trunk/Source/StructureMap/Query/GenericFamilyConfiguration.cs =================================================================== --- trunk/Source/StructureMap/Query/GenericFamilyConfiguration.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Query/GenericFamilyConfiguration.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -47,25 +47,13 @@ /// <summary> /// The build "policy" for this PluginType. Used by the WhatDoIHave() diagnostics methods /// </summary> - public string Lifecycle - { - get - { - return _family.Lifecycle.ToName(); - } - } + public string Lifecycle { get { return _family.Lifecycle.ToName(); } } /// <summary> /// All of the <see cref="InstanceRef">InstanceRef</see>'s registered /// for this PluginType /// </summary> - public IEnumerable<InstanceRef> Instances - { - get - { - return _family.Instances.Select(x => new InstanceRef(x, this)); - } - } + public IEnumerable<InstanceRef> Instances { get { return _family.Instances.Select(x => new InstanceRef(x, this)); } } /// <summary> /// Simply query to see if there are any implementations registered Modified: trunk/Source/StructureMap/Query/IModel.cs =================================================================== --- trunk/Source/StructureMap/Query/IModel.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Query/IModel.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,12 +1,8 @@ using System; using System.Collections.Generic; -using StructureMap.Pipeline; namespace StructureMap.Query { - - - /// <summary> /// Models the state of a Container or ObjectFactory. Can be used to query for the /// existence of types registered with StructureMap Modified: trunk/Source/StructureMap/Query/Model.cs =================================================================== --- trunk/Source/StructureMap/Query/Model.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/Query/Model.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -35,13 +35,7 @@ return findForFamily(pluginType, f => f.Default == null ? null : f.Default.ConcreteType); } - public IEnumerable<IPluginTypeConfiguration> PluginTypes - { - get - { - return _pluginTypes; - } - } + public IEnumerable<IPluginTypeConfiguration> PluginTypes { get { return _pluginTypes; } } /// <summary> /// Retrieves the configuration for the given type Modified: trunk/Source/StructureMap/TypeExtensions.cs =================================================================== --- trunk/Source/StructureMap/TypeExtensions.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap/TypeExtensions.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -252,8 +252,6 @@ { return IsChild(type) || IsChildArray(type); } - - } } } \ No newline at end of file Modified: trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizerObjectSource.cs =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizerObjectSource.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizerObjectSource.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -3,7 +3,6 @@ using System.IO; using System.Linq; using Microsoft.VisualStudio.DebuggerVisualizers; -using StructureMap.Pipeline; using StructureMap.Query; namespace StructureMap.DebuggerVisualizers Modified: trunk/Source/StructureMap.Testing/AlternativeConfigurationTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/AlternativeConfigurationTester.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/AlternativeConfigurationTester.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -55,6 +55,16 @@ } [Test] + public void Load_configuration_file_after_the_container_has_already_been_initialized() + { + var container = new Container(x => x.AddConfigurationFromXmlFile("Config1.xml")); + + container.GetInstance<IWidget>().ShouldBeOfType<ColorWidget>().Color.ShouldEqual("Orange"); + container.Configure(x => x.AddConfigurationFromXmlFile("Config2.xml")); + container.GetInstance<IWidget>().ShouldBeOfType<ColorWidget>().Color.ShouldEqual("Green"); + } + + [Test] public void NotTheDefault() { assertTheDefault("Orange", x => { x.AddConfigurationFromXmlFile("Config1.xml"); }); @@ -66,22 +76,9 @@ // This code enforces the existence of the StructureMap.config file // Initialize() will throw an exception if the StructureMap.config file // cannot be found - ObjectFactory.Initialize(x => - { - x.UseDefaultStructureMapConfigFile = true; - }); + ObjectFactory.Initialize(x => { x.UseDefaultStructureMapConfigFile = true; }); ObjectFactory.GetInstance<IWidget>().ShouldBeOfType<ColorWidget>().Color.ShouldEqual("Red"); } - - [Test] - public void Load_configuration_file_after_the_container_has_already_been_initialized() - { - var container = new Container(x => x.AddConfigurationFromXmlFile("Config1.xml")); - - container.GetInstance<IWidget>().ShouldBeOfType<ColorWidget>().Color.ShouldEqual("Orange"); - container.Configure(x => x.AddConfigurationFromXmlFile("Config2.xml")); - container.GetInstance<IWidget>().ShouldBeOfType<ColorWidget>().Color.ShouldEqual("Green"); - } } } \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/Attributes/PluginFamilyAttributeTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Attributes/PluginFamilyAttributeTester.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/Attributes/PluginFamilyAttributeTester.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -33,10 +33,7 @@ public class CustomMementoSource : MementoSource { - public override string Description - { - get { throw new NotImplementedException(); } - } + public override string Description { get { throw new NotImplementedException(); } } protected override InstanceMemento[] fetchInternalMementos() { Modified: trunk/Source/StructureMap.Testing/AutoMocking/AutoMockerTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/AutoMocking/AutoMockerTester.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/AutoMocking/AutoMockerTester.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -9,8 +9,10 @@ public abstract class AutoMockerTester { protected abstract AutoMocker<T> createAutoMocker<T>() where T : class; - protected abstract void setExpectation<T, TResult>(T mock, Expression<Func<T, TResult>> functionCall, TResult expectedResult) where T : class; + protected abstract void setExpectation<T, TResult>(T mock, Expression<Func<T, TResult>> functionCall, + TResult expectedResult) where T : class; + public class ConcreteThing { private readonly IMockedService _service; @@ -24,15 +26,9 @@ } - public IMockedService Service - { - get { return _service; } - } + public IMockedService Service { get { return _service; } } - public IMockedService2 Service2 - { - get { return _service2; } - } + public IMockedService2 Service2 { get { return _service2; } } } public class ConcreteClass @@ -48,25 +44,13 @@ _service3 = service3; } - public virtual string Name - { - get { return _service.Name; } - } + public virtual string Name { get { return _service.Name; } } - public IMockedService Service - { - get { return _service; } - } + public IMockedService Service { get { return _service; } } - public IMockedService2 Service2 - { - get { return _service2; } - } + public IMockedService2 Service2 { get { return _service2; } } - public IMockedService3 Service3 - { - get { return _service3; } - } + public IMockedService3 Service3 { get { return _service3; } } public void CallService() { @@ -106,10 +90,7 @@ #region IMockedService Members - public string Name - { - get { return _name; } - } + public string Name { get { return _name; } } public void Go() { @@ -128,16 +109,17 @@ _services = services; } - public IMockedService[] Services - { - get { return _services; } - } + public IMockedService[] Services { get { return _services; } } } + public interface IAnotherService + { + } + [Test] public void CanInjectAnArrayOfMockServices1() { - var mocker = createAutoMocker<ClassWithArray>(); + AutoMocker<ClassWithArray> mocker = createAutoMocker<ClassWithArray>(); IMockedService[] services = mocker.CreateMockArrayFor<IMockedService>(3); ClassWithArray theClass = mocker.ClassUnderTest; @@ -148,7 +130,7 @@ [Test] public void CanInjectAnArrayOfMockServices2() { - var mocker = createAutoMocker<ClassWithArray>(); + AutoMocker<ClassWithArray> mocker = createAutoMocker<ClassWithArray>(); ClassWithArray theClass = mocker.ClassUnderTest; @@ -159,7 +141,7 @@ [Test] public void CanInjectAnArrayOfMockServices3() { - var mocker = createAutoMocker<ClassWithArray>(); + AutoMocker<ClassWithArray> mocker = createAutoMocker<ClassWithArray>(); IMockedService[] services = mocker.CreateMockArrayFor<IMockedService>(3); @@ -172,7 +154,7 @@ [Test] public void CanInjectAnArrayOfMockServices4() { - var mocker = createAutoMocker<ClassWithArray>(); + AutoMocker<ClassWithArray> mocker = createAutoMocker<ClassWithArray>(); mocker.PartialMockTheClassUnderTest(); ClassWithArray theClass = mocker.ClassUnderTest; @@ -184,7 +166,7 @@ [Test] public void GetTheSameConcreteClassTwiceFromCreate() { - var autoMocker = createAutoMocker<ConcreteClass>(); + AutoMocker<ConcreteClass> autoMocker = createAutoMocker<ConcreteClass>(); ConcreteClass concreteClass = autoMocker.ClassUnderTest; Assert.AreSame(concreteClass, autoMocker.ClassUnderTest); @@ -195,7 +177,7 @@ [Test] public void TheAutoMockerPushesInMocksAndAPreBuiltStubForAllOfTheConstructorArguments() { - var autoMocker = createAutoMocker<ConcreteClass>(); + AutoMocker<ConcreteClass> autoMocker = createAutoMocker<ConcreteClass>(); var stub = new StubService(); autoMocker.Inject<IMockedService>(stub); @@ -212,7 +194,7 @@ [Test] public void TheAutoMockerPushesInMocksForAllOfTheConstructorArgumentsForAPartialMock() { - var autoMocker = createAutoMocker<ConcreteClass>(); + AutoMocker<ConcreteClass> autoMocker = createAutoMocker<ConcreteClass>(); var service = autoMocker.Get<IMockedService>(); var service2 = autoMocker.Get<IMockedService2>(); @@ -229,7 +211,7 @@ [Test] public void UseConcreteClassFor() { - var mocker = createAutoMocker<ConcreteClass>(); + AutoMocker<ConcreteClass> mocker = createAutoMocker<ConcreteClass>(); mocker.UseConcreteClassFor<ConcreteThing>(); var thing = mocker.Get<ConcreteThing>(); @@ -242,26 +224,20 @@ [Test] public void UseTheAutoMockerToStartUpTheConcreteClass() { - var autoMocker = createAutoMocker<ConcreteClass>(); - setExpectation(autoMocker.Get<IMockedService>(), x=> x.Name, "Jeremy"); + AutoMocker<ConcreteClass> autoMocker = createAutoMocker<ConcreteClass>(); + setExpectation(autoMocker.Get<IMockedService>(), x => x.Name, "Jeremy"); autoMocker.ClassUnderTest.Name.ShouldEqual("Jeremy"); } [Test] public void UseTheAutoMockerToStartUpTheConcreteClassAsAPartialMockAndSetTheNameMethodUp() { - var autoMocker = createAutoMocker<ConcreteClass>(); + AutoMocker<ConcreteClass> autoMocker = createAutoMocker<ConcreteClass>(); autoMocker.PartialMockTheClassUnderTest(); ConcreteClass concreteClass = autoMocker.ClassUnderTest; - setExpectation(concreteClass, x=> x.Name, "Max"); + setExpectation(concreteClass, x => x.Name, "Max"); concreteClass.Name.ShouldEqual("Max"); } - - public interface IAnotherService - { - - } - } } \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/AutoMocking/MoqAutoMockerTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/AutoMocking/MoqAutoMockerTester.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/AutoMocking/MoqAutoMockerTester.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,8 +1,8 @@ using System; +using System.Linq.Expressions; using Moq; using NUnit.Framework; using StructureMap.AutoMocking; -using System.Linq.Expressions; namespace StructureMap.Testing.AutoMocking { @@ -12,8 +12,8 @@ [Test] public void verify_an_expected_calls() { - MoqAutoMocker<AutoMockerTester.ConcreteClass> autoMocker = new MoqAutoMocker<AutoMockerTester.ConcreteClass>(); - AutoMockerTester.IMockedService mockedService = autoMocker.Get<AutoMockerTester.IMockedService>(); + var autoMocker = new MoqAutoMocker<AutoMockerTester.ConcreteClass>(); + var mockedService = autoMocker.Get<AutoMockerTester.IMockedService>(); autoMocker.ClassUnderTest.CallService(); IMock<AutoMockerTester.IMockedService> mockedServiceWrapper = Mock.Get(mockedService); @@ -29,9 +29,10 @@ return new MoqAutoMocker<T>(); } - protected override void setExpectation<T, TResult>(T mock, Expression<Func<T, TResult>> functionCall, TResult expectedResult) + protected override void setExpectation<T, TResult>(T mock, Expression<Func<T, TResult>> functionCall, + TResult expectedResult) { Mock.Get(mock).Expect(functionCall).Returns(expectedResult); } } -} +} \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/AutoMocking/MoqFactoryTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/AutoMocking/MoqFactoryTester.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/AutoMocking/MoqFactoryTester.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -7,20 +7,11 @@ [TestFixture] public class MoqFactoryTester { - [Test] - public void sample_moq_usage() - { - var mock = new Mock<ITestMocks>(); - mock.Expect(t => t.Answer()).Returns("Moq"); - mock.Object.Answer().ShouldEqual("Moq"); - } - - [Test] public void can_make_dynamic_mocks() { var moqFactory = new MoqFactory(); - var fooMock = moqFactory.CreateMock(typeof(ITestMocks)); + object fooMock = moqFactory.CreateMock(typeof (ITestMocks)); fooMock.ShouldNotBeNull(); } @@ -29,18 +20,23 @@ public void can_make_partial_mocks() { var moqFactory = new MoqFactory(); - var testPartials = (TestPartials)moqFactory.CreateMockThatCallsBase(typeof(TestPartials), new object[0]); - + var testPartials = (TestPartials) moqFactory.CreateMockThatCallsBase(typeof (TestPartials), new object[0]); + testPartials.ShouldNotBeNull(); testPartials.Concrete().ShouldEqual("Concrete"); testPartials.Virtual().ShouldEqual("Virtual"); - var mock = Mock.Get(testPartials); + IMock<TestPartials> mock = Mock.Get(testPartials); mock.Expect(t => t.Virtual()).Returns("MOQed!"); testPartials.Virtual().ShouldEqual("MOQed!"); } + [Test] + public void sample_moq_usage() + { + var mock = new Mock<ITestMocks>(); + mock.Expect(t => t.Answer()).Returns("Moq"); + mock.Object.Answer().ShouldEqual("Moq"); + } } - - } \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/AutoMocking/RhinoAutoMockerTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/AutoMocking/RhinoAutoMockerTester.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/AutoMocking/RhinoAutoMockerTester.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -32,7 +32,8 @@ return new RhinoAutoMocker<T>(); } - protected override void setExpectation<T,TResult>(T mock, Expression<Func<T,TResult>> functionCall, TResult expectedResult) + protected override void setExpectation<T, TResult>(T mock, Expression<Func<T, TResult>> functionCall, + TResult expectedResult) { mock.Expect(x => functionCall.Compile()(mock)).Return(expectedResult); } @@ -94,6 +95,5 @@ // This retrieves the mock object for IMockedService autoMocker.Get<IMockedService>().AssertWasCalled(s => s.Go()); } - } } \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/AutoMocking/RhinoMockRepositoryProxyTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/AutoMocking/RhinoMockRepositoryProxyTester.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/AutoMocking/RhinoMockRepositoryProxyTester.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,6 +1,6 @@ using NUnit.Framework; -using StructureMap.AutoMocking; using Rhino.Mocks; +using StructureMap.AutoMocking; namespace StructureMap.Testing.AutoMocking { @@ -11,30 +11,17 @@ public void can_make_dynamic_mocks() { var mockRepository = new RhinoMockRepositoryProxy(); - var fooMock = mockRepository.DynamicMock(typeof(ITestMocks)); + object fooMock = mockRepository.DynamicMock(typeof (ITestMocks)); fooMock.ShouldNotBeNull(); } [Test] - public void can_put_mock_in_replay_mode() - { - var mockRepository = new RhinoMockRepositoryProxy(); - var test = (ITestMocks)mockRepository.DynamicMock(typeof(ITestMocks)); - - mockRepository.Replay(test); - - test.Stub(t => t.Answer()).Return("YES"); - test.ShouldNotBeNull(); - test.Answer().ShouldEqual("YES"); - } - - [Test] public void can_make_partial_mocks() { var mockRepository = new RhinoMockRepositoryProxy(); - var testPartials = (TestPartials)mockRepository.PartialMock(typeof(TestPartials), new object[0]); - + var testPartials = (TestPartials) mockRepository.PartialMock(typeof (TestPartials), new object[0]); + testPartials.ShouldNotBeNull(); mockRepository.Replay(testPartials); testPartials.Concrete().ShouldEqual("Concrete"); @@ -44,6 +31,18 @@ testPartials.Virtual().ShouldEqual("MOCKED!"); } + [Test] + public void can_put_mock_in_replay_mode() + { + var mockRepository = new RhinoMockRepositoryProxy(); + var test = (ITestMocks) mockRepository.DynamicMock(typeof (ITestMocks)); + + mockRepository.Replay(test); + + test.Stub(t => t.Answer()).Return("YES"); + test.ShouldNotBeNull(); + test.Answer().ShouldEqual("YES"); + } } public interface ITestMocks Modified: trunk/Source/StructureMap.Testing/AutoWiringExamples.cs =================================================================== --- trunk/Source/StructureMap.Testing/AutoWiringExamples.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/AutoWiringExamples.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -44,7 +44,7 @@ [TestFixture] public class ValidatorExamples { - private Container container; + #region Setup/Teardown [SetUp] public void SetUp() @@ -75,37 +75,14 @@ }); } - [Test] - public void what_are_the_validators() - { - Debug.WriteLine("With Auto Wiring"); - container.GetInstance<ClassThatUsesValidators>("WithAutoWiring").Write(); - Debug.WriteLine("================================="); - Debug.WriteLine("With Explicit Configuration"); - container.GetInstance<ClassThatUsesValidators>("ExplicitArray").Write(); - } + #endregion - [Test] - public void demonstrate_session_identity() - { - var class3 = container.GetInstance<Class3>(); - Debug.WriteLine(class3); - } + private Container container; - [Test] - public void demonstrate_session_identity_with_explicit_argument() - { - DataContext context = new DataContext(); - Debug.WriteLine("The context being passed in is " + context); - var class3 = container.With(context).GetInstance<Class3>(); - Debug.WriteLine(class3); - } - - public class DataContext { - private Guid _id = Guid.NewGuid(); + private readonly Guid _id = Guid.NewGuid(); public override string ToString() { @@ -161,5 +138,32 @@ return string.Format("Class3 has Context: {0}\n{1}", _context, _class2); } } + + [Test] + public void demonstrate_session_identity() + { + var class3 = container.GetInstance<Class3>(); + Debug.WriteLine(class3); + } + + [Test] + public void demonstrate_session_identity_with_explicit_argument() + { + var context = new DataContext(); + Debug.WriteLine("The context being passed in is " + context); + + var class3 = container.With(context).GetInstance<Class3>(); + Debug.WriteLine(class3); + } + + [Test] + public void what_are_the_validators() + { + Debug.WriteLine("With Auto Wiring"); + container.GetInstance<ClassThatUsesValidators>("WithAutoWiring").Write(); + Debug.WriteLine("================================="); + Debug.WriteLine("With Explicit Configuration"); + container.GetInstance<ClassThatUsesValidators>("ExplicitArray").Write(); + } } } \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/BidirectionalDependencies.cs =================================================================== --- trunk/Source/StructureMap.Testing/BidirectionalDependencies.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/BidirectionalDependencies.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,14 +1,15 @@ -using System; using System.Diagnostics; using NUnit.Framework; namespace StructureMap.Testing { - [TestFixture] public class BidirectionalDependencies + [TestFixture] + public class BidirectionalDependencies { - private Container container; + #region Setup/Teardown - [SetUp] public void SetUp() + [SetUp] + public void SetUp() { container = new Container(x => { @@ -17,7 +18,12 @@ }); } - [Test] public void do_not_blow_up_with_a_stack_overflow_problem() + #endregion + + private Container container; + + [Test] + public void do_not_blow_up_with_a_stack_overflow_problem() { try { @@ -33,9 +39,14 @@ } - public interface IBiView{} - public interface IBiPresenter{} + public interface IBiView + { + } + public interface IBiPresenter + { + } + public class BiView : IBiView { private readonly IBiPresenter _presenter; @@ -45,10 +56,7 @@ _presenter = presenter; } - public IBiPresenter Presenter - { - get { return _presenter; } - } + public IBiPresenter Presenter { get { return _presenter; } } } public class BiPresenter : IBiPresenter @@ -60,9 +68,6 @@ _view = view; } - public IBiView View - { - get { return _view; } - } + public IBiView View { get { return _view; } } } } \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/Bugs/AddValueDirectlyWithGenericUsage.cs =================================================================== --- trunk/Source/StructureMap.Testing/Bugs/AddValueDirectlyWithGenericUsage.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/Bugs/AddValueDirectlyWithGenericUsage.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -6,11 +6,15 @@ [TestFixture] public class AddValueDirectlyWithGenericUsage { + #region Setup/Teardown + [SetUp] public void SetUp() { } + #endregion + [Test] public void should_be_able_to_resolve_from_the_generic_family_expression() { Modified: trunk/Source/StructureMap.Testing/Bugs/BuildUpBug.cs =================================================================== --- trunk/Source/StructureMap.Testing/Bugs/BuildUpBug.cs 2009-12-28 01:17:17 UTC (rev 306) +++ trunk/Source/StructureMap.Testing/Bugs/BuildUpBug.cs 2009-12-28 01:43:19 UTC (rev 307) @@ -1,7 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; using NUnit.Framework; namespace StructureMap.Testing.Bugs @@ -17,7 +13,7 @@ x.UseDefaultStructureMapConfigFile = false; x.ForConcreteType<SomeDbRepository>().Configure. - WithCtorArg("connectionString").EqualTo("some connection string"); + WithCtorArg("connectionString").EqualTo("some connection string"); //x.ForConcreteType<SomeWebPage>().Configure. // SetterDependency<SomeDbRepository>().Is<SomeDbRepository>(); @@ -25,10 +21,10 @@ x.SetAllProperties(o => o.OfType<SomeDbRepository>()); }); - SomeDbRepository dbRepository = - ObjectFactory.GetInstance<SomeDbRepository>(); + var dbRepository = + ObjectFactory.GetInstance<SomeDbRepository>(); - SomeWebPage webPage = new SomeWebPage(); + var webPage = new SomeWebPage(); ObjectFactory.BuildUp(webPage); @@ -40,7 +36,7 @@ { public SomeDbRepository(string connectionString) { - this.ConnectionString = connectionString; + ConnectionString = connectionString; } public string ConnectionString { get; set; } @@ -54,4 +50,4 @@ // ... } -} +} \ No newline at end of file Modified: trunk/Source/StructureMap.Testing/Bugs/FillAllPropertiesShouldWorkForAlreadyConfiguredPluginsBug.cs =================================================================== --- trunk/Source/Structure... [truncated message content] |
From: <jer...@us...> - 2010-01-04 19:08:59
|
Revision: 321 http://structuremap.svn.sourceforge.net/structuremap/?rev=321&view=rev Author: jeremydmiller Date: 2010-01-04 19:08:50 +0000 (Mon, 04 Jan 2010) Log Message: ----------- removed ForRequestedType() methods. It's all For() from here on out Modified Paths: -------------- trunk/Source/HTML/ConfiguringStructureMap.htm trunk/Source/HTML/Generics.htm trunk/Source/HTML/Interception.htm trunk/Source/HTML/RegistryDSL.htm trunk/Source/StructureMap/BuildSession.cs trunk/Source/StructureMap/Configuration/DSL/IRegistry.cs trunk/Source/StructureMap/Configuration/DSL/Registry.cs trunk/Source/StructureMap/Container.cs trunk/Source/StructureMap/PipelineGraph.cs trunk/Source/StructureMap/SystemRegistry.cs trunk/Source/StructureMap.DebuggerVisualizers.Testing/Program.cs trunk/Source/StructureMap.Testing/AutoWiringExamples.cs trunk/Source/StructureMap.Testing/BidirectionalDependencies.cs trunk/Source/StructureMap.Testing/Bugs/FillAllPropertiesShouldWorkForAlreadyConfiguredPluginsBug.cs trunk/Source/StructureMap.Testing/Bugs/HttpSessionNullRefBug.cs trunk/Source/StructureMap.Testing/Bugs/LambdaCreatesNullBugTester.cs trunk/Source/StructureMap.Testing/Bugs/MixedConfigureAndInitializeMissingInstanceProblem.cs trunk/Source/StructureMap.Testing/Bugs/SingletonShouldBeLazy.cs trunk/Source/StructureMap.Testing/Bugs/SpecifyScopeInConfigureTester.cs trunk/Source/StructureMap.Testing/BuildSessionTester.cs trunk/Source/StructureMap.Testing/BuildUpIntegratedTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/AddTypesTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/ConstructorExpressionTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/CreatePluginFamilyTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/DeepInstanceTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/GenericFamilyExpressionTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/InjectArrayTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/InterceptAllInstancesOfPluginTypeTester.cs trunk/Source/StructureMap.Testing/Configuration/DSL/InterceptorTesting.cs trunk/Source/StructureMap.Testing/Configuration/DSL/RegistryTester.cs trunk/Source/StructureMap.Testing/Diagnostics/DoctorTester.cs trunk/Source/StructureMap.Testing/Diagnostics/ValidationBuildSessionTester.cs trunk/Source/StructureMap.Testing/Examples/CustomInstance.cs trunk/Source/StructureMap.Testing/Examples/Interception.cs trunk/Source/StructureMap.Testing/Examples/RegisteringWithTheAPI.cs trunk/Source/StructureMap.Testing/Examples.cs trunk/Source/StructureMap.Testing/GenericsAcceptanceTester.cs trunk/Source/StructureMap.Testing/Graph/ArrayConstructorTester.cs trunk/Source/StructureMap.Testing/Graph/AssemblyScannerTester.cs trunk/Source/StructureMap.Testing/Graph/ContainerTester.cs trunk/Source/StructureMap.Testing/Graph/ConventionBasedSetterInjectionTester.cs trunk/Source/StructureMap.Testing/Graph/DynamicInjectionTester.cs trunk/Source/StructureMap.Testing/Graph/FillDependenciesTester.cs trunk/Source/StructureMap.Testing/Graph/FullStackFacadeTester.cs trunk/Source/StructureMap.Testing/Graph/GenericsPluginGraphTester.cs trunk/Source/StructureMap.Testing/Graph/InstanceFactoryTester.cs trunk/Source/StructureMap.Testing/Graph/IntegratedTester.cs trunk/Source/StructureMap.Testing/Graph/Interceptors/TypeInterceptionTester.cs trunk/Source/StructureMap.Testing/Graph/PluginGraphBuilderTester.cs trunk/Source/StructureMap.Testing/Graph/PluginTester.cs trunk/Source/StructureMap.Testing/Graph/TestExplicitArguments.cs trunk/Source/StructureMap.Testing/Graph/TypeFindingTester.cs trunk/Source/StructureMap.Testing/ModelQueryTester.cs trunk/Source/StructureMap.Testing/ObjectFactoryTester.cs trunk/Source/StructureMap.Testing/PerRequestInterceptorTester.cs trunk/Source/StructureMap.Testing/Pipeline/BuildStrategiesTester.cs trunk/Source/StructureMap.Testing/Pipeline/ConditionalInstanceTester.cs trunk/Source/StructureMap.Testing/Pipeline/ConfiguredInstanceTester.cs trunk/Source/StructureMap.Testing/Pipeline/GenericsHelperExpressionTester.cs trunk/Source/StructureMap.Testing/Pipeline/HybridBuildLifecycleTester.cs trunk/Source/StructureMap.Testing/Pipeline/MissingInstanceTester.cs trunk/Source/StructureMap.Testing/Pipeline/ObjectBuilderTester.cs trunk/Source/StructureMap.Testing/Pipeline/OptionalSetterInjectionTester.cs trunk/Source/StructureMap.Testing/Pipeline/SmartInstanceTester.cs trunk/Source/StructureMap.Testing/Pipeline/ThreadLocalStorageLifecycleTester.cs trunk/Source/StructureMap.Testing/StructureMapConfigurationTester.cs Modified: trunk/Source/HTML/ConfiguringStructureMap.htm =================================================================== --- trunk/Source/HTML/ConfiguringStructureMap.htm 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/HTML/ConfiguringStructureMap.htm 2010-01-04 19:08:50 UTC (rev 321) @@ -142,7 +142,7 @@ these methods for all all the possible configuration directives.</p> <!-- -{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;\red0\green128\blue0;}??\fs20 \cf3 public\cf0 \cf3 interface\cf0 \cf4 IInitializationExpression\par ??\cf0 \{\par ?? \cf5 // Directives on how to treat the StructureMap.config file\par ??\cf0 \cf3 bool\cf0 UseDefaultStructureMapConfigFile \{ \cf3 set\cf0 ; \}\par ?? \cf3 bool\cf0 IgnoreStructureMapConfig \{ \cf3 set\cf0 ; \}\par ??\par ?? \cf5 // Xml configuration from the App.Config file\par ??\cf0 \cf3 bool\cf0 PullConfigurationFromAppConfig \{ \cf3 set\cf0 ; \}\par ??\par ?? \cf5 // Ancillary sources of Xml configuration\par ??\cf0 \cf3 void\cf0 AddConfigurationFromXmlFile(\cf3 string\cf0 fileName);\par ?? \cf3 void\cf0 AddConfigurationFromNode(\cf4 XmlNode\cf0 node);\par ??\par ?? \cf5 // Specifying Registry's\par ??\cf0 \cf3 void\cf0 AddRegistry<T>() \cf3 where\cf0 T : \cf4 Registry\cf0 , \cf3 new\cf0 ();\par ?? \cf3 void\cf0 AddRegistry(\cf4 Registry\cf0 registry);\par ??\par ?? \cf5 // Designate the Default Profile. This will be applied as soon as the \par ??\cf0 \cf5 // Container is initialized.\par ??\cf0 \cf3 string\cf0 DefaultProfileName \{ \cf3 get\cf0 ; \cf3 set\cf0 ; \}\par ??\par ?? \cf5 // ... and the Registry DSL as well\par ??\par ??\cf0 \cf5 // The Registry DSL\par ??\cf0 \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> BuildInstancesOf<PLUGINTYPE>();\par ?? \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> ForRequestedType<PLUGINTYPE>();\par ?? \cf4 GenericFamilyExpression\cf0 ForRequestedType(\cf4 Type\cf0 pluginType);\par ?? \cf4 Registry\cf0 .\cf4 BuildWithExpression\cf0 <T> ForConcreteType<T>();\par ??\par ?? \cf4 IsExpression\cf0 <T> InstanceOf<T>();\par ?? \cf4 GenericIsExpression\cf0 InstanceOf(\cf4 Type\cf0 pluginType);\par ??\par ?? \cf4 ProfileExpression\cf0 CreateProfile(\cf3 string\cf0 profileName);\par ?? \cf3 void\cf0 CreateProfile(\cf3 string\cf0 profileName, \cf4 Action\cf0 <\cf4 ProfileExpression\cf0 > action);\par ??\par ?? \cf3 void\cf0 RegisterInterceptor(\cf4 TypeInterceptor\cf0 interceptor);\par ?? \cf4 MatchedTypeInterceptor\cf0 IfTypeMatches(\cf4 Predicate\cf0 <\cf4 Type\cf0 > match);\par ??\par ?? \cf3 void\cf0 Scan(\cf4 Action\cf0 <\cf4 IAssemblyScanner\cf0 > action);\par ??\par ?? \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> FillAllPropertiesOfType<PLUGINTYPE>();\par ?? \}} +{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;\red0\green128\blue0;}??\fs20 \cf3 public\cf0 \cf3 interface\cf0 \cf4 IInitializationExpression\par ??\cf0 \{\par ?? \cf5 // Directives on how to treat the StructureMap.config file\par ??\cf0 \cf3 bool\cf0 UseDefaultStructureMapConfigFile \{ \cf3 set\cf0 ; \}\par ?? \cf3 bool\cf0 IgnoreStructureMapConfig \{ \cf3 set\cf0 ; \}\par ??\par ?? \cf5 // Xml configuration from the App.Config file\par ??\cf0 \cf3 bool\cf0 PullConfigurationFromAppConfig \{ \cf3 set\cf0 ; \}\par ??\par ?? \cf5 // Ancillary sources of Xml configuration\par ??\cf0 \cf3 void\cf0 AddConfigurationFromXmlFile(\cf3 string\cf0 fileName);\par ?? \cf3 void\cf0 AddConfigurationFromNode(\cf4 XmlNode\cf0 node);\par ??\par ?? \cf5 // Specifying Registry's\par ??\cf0 \cf3 void\cf0 AddRegistry<T>() \cf3 where\cf0 T : \cf4 Registry\cf0 , \cf3 new\cf0 ();\par ?? \cf3 void\cf0 AddRegistry(\cf4 Registry\cf0 registry);\par ??\par ?? \cf5 // Designate the Default Profile. This will be applied as soon as the \par ??\cf0 \cf5 // Container is initialized.\par ??\cf0 \cf3 string\cf0 DefaultProfileName \{ \cf3 get\cf0 ; \cf3 set\cf0 ; \}\par ??\par ?? \cf5 // ... and the Registry DSL as well\par ??\par ??\cf0 \cf5 // The Registry DSL\par ??\cf0 \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> BuildInstancesOf<PLUGINTYPE>();\par ?? \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> ForRequestedType<PLUGINTYPE>();\par ?? \cf4 GenericFamilyExpression\cf0 For(\cf4 Type\cf0 pluginType);\par ?? \cf4 Registry\cf0 .\cf4 BuildWithExpression\cf0 <T> ForConcreteType<T>();\par ??\par ?? \cf4 IsExpression\cf0 <T> InstanceOf<T>();\par ?? \cf4 GenericIsExpression\cf0 InstanceOf(\cf4 Type\cf0 pluginType);\par ??\par ?? \cf4 ProfileExpression\cf0 CreateProfile(\cf3 string\cf0 profileName);\par ?? \cf3 void\cf0 CreateProfile(\cf3 string\cf0 profileName, \cf4 Action\cf0 <\cf4 ProfileExpression\cf0 > action);\par ??\par ?? \cf3 void\cf0 RegisterInterceptor(\cf4 TypeInterceptor\cf0 interceptor);\par ?? \cf4 MatchedTypeInterceptor\cf0 IfTypeMatches(\cf4 Predicate\cf0 <\cf4 Type\cf0 > match);\par ??\par ?? \cf3 void\cf0 Scan(\cf4 Action\cf0 <\cf4 IAssemblyScanner\cf0 > action);\par ??\par ?? \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> FillAllPropertiesOfType<PLUGINTYPE>();\par ?? \}} --> <div style="font-family: Courier New; font-size: 10pt; color: black; background: white; border: black thin solid;"> <p style="margin: 0px;"> Modified: trunk/Source/HTML/Generics.htm =================================================================== --- trunk/Source/HTML/Generics.htm 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/HTML/Generics.htm 2010-01-04 19:08:50 UTC (rev 321) @@ -237,7 +237,7 @@ <p>Great, but now let's move on to registering these classes with a Container. This unit test fixture from the code illustrates this very scenario:</p> <!-- -{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red43\green145\blue175;\red0\green0\blue255;\red0\green128\blue0;}??\fs20 [\cf3 SetUp\cf0 ]\par ?? \cf4 public\cf0 \cf4 void\cf0 SetUp()\par ?? \{\par ?? container = \cf4 new\cf0 \cf3 Container\cf0 (x =>\par ?? \{\par ?? \cf5 // Define the basic open type for IFlattener<>\par ??\cf0 x.ForRequestedType(\cf4 typeof\cf0 (\cf3 IFlattener\cf0 <>)).TheDefaultIsConcreteType(\cf4 typeof\cf0 (\cf3 PassthroughFlattener\cf0 <>));\par ?? \par ?? \cf5 // Explicitly Register a specific closed type for Address\par ??\cf0 x.ForRequestedType<\cf3 IFlattener\cf0 <\cf3 Address\cf0 >>().TheDefaultIsConcreteType<\cf3 AddressFlattener\cf0 >();\par ?? \});\par ?? \}} +{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red43\green145\blue175;\red0\green0\blue255;\red0\green128\blue0;}??\fs20 [\cf3 SetUp\cf0 ]\par ?? \cf4 public\cf0 \cf4 void\cf0 SetUp()\par ?? \{\par ?? container = \cf4 new\cf0 \cf3 Container\cf0 (x =>\par ?? \{\par ?? \cf5 // Define the basic open type for IFlattener<>\par ??\cf0 x.For(\cf4 typeof\cf0 (\cf3 IFlattener\cf0 <>)).TheDefaultIsConcreteType(\cf4 typeof\cf0 (\cf3 PassthroughFlattener\cf0 <>));\par ?? \par ?? \cf5 // Explicitly Register a specific closed type for Address\par ??\cf0 x.ForRequestedType<\cf3 IFlattener\cf0 <\cf3 Address\cf0 >>().TheDefaultIsConcreteType<\cf3 AddressFlattener\cf0 >();\par ?? \});\par ?? \}} --> <div style="font-family: Courier New; font-size: 10pt; color: black; background: white; border: black thin solid;"> <p style="margin: 0px;"> @@ -258,7 +258,7 @@ <span style="color: green;">// Define the basic open type for IFlattener<></span></p> <p style="margin: 0px;"> - x.ForRequestedType(<span style="color: blue;">typeof</span> (<span + x.For(<span style="color: blue;">typeof</span> (<span style="color: #2b91af;">IFlattener</span><>)).TheDefaultIsConcreteType(<span style="color: blue;">typeof</span> (<span style="color: #2b91af;">PassthroughFlattener</span><>));</p> <p style="margin: 0px;"> Modified: trunk/Source/HTML/Interception.htm =================================================================== --- trunk/Source/HTML/Interception.htm 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/HTML/Interception.htm 2010-01-04 19:08:50 UTC (rev 321) @@ -329,7 +329,7 @@ <h2>Apply Interception to all Instances of a PluginType</h2> <p>The same OnCreation(), EnrichWith(), and InterceptWith() methods can be applied - to all Instances of a given PluginType off of the ForRequestedType() or + to all Instances of a given PluginType off of the For() or BuildInstancesOf() methods of the <a href="RegistryDSL.htm">Registry DSL</a>:</p> <!-- {\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green128\blue0;\red43\green145\blue175;\red0\green0\blue255;}??\fs20 \cf3 // Place the Interception at the PluginType level\par ??\cf0 ForRequestedType<\cf4 IConnectionListener\cf0 >()\par ?? .OnCreation(x => x.StartConnection()) \cf3 // OnCreation\par ??\cf0 .EnrichWith(x => \cf5 new\cf0 \cf4 LoggingDecorator\cf0 (x)) \cf3 // Enrich\par ??\cf0 .InterceptWith(\cf5 new\cf0 \cf4 CustomInterceptor\cf0 ()) \cf3 // Custom Interceptor\par ??\par ??\par ??\cf0 .TheDefaultIsConcreteType<\cf4 ClassThatNeedsSomeBootstrapping\cf0 >();} Modified: trunk/Source/HTML/RegistryDSL.htm =================================================================== --- trunk/Source/HTML/RegistryDSL.htm 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/HTML/RegistryDSL.htm 2010-01-04 19:08:50 UTC (rev 321) @@ -166,12 +166,12 @@ <p>The Registry class exposes these methods for configuration. Most of these methods are the root of a Fluent Interface expression.</p> <!-- -{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green128\blue0;\red43\green145\blue175;\red0\green0\blue255;}??\fs20 \cf3 // Registering Types -- BuildInstancesOf() and ForRequestedType() are Synonyms\par ??\cf0 \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> BuildInstancesOf<PLUGINTYPE>();\par ?? \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> ForRequestedType<PLUGINTYPE>();\par ?? \par ?? \cf4 GenericFamilyExpression\cf0 ForRequestedType(\cf4 Type\cf0 pluginType);\par ??\par ?? \cf3 // Shortcut for configuring the default configuration of a concrete type\par ??\cf0 \cf4 Registry\cf0 .\cf4 BuildWithExpression\cf0 <T> ForConcreteType<T>();\par ??\par ?? \cf3 // Adding additional Instances of a PluginType\par ??\cf0 \cf4 IsExpression\cf0 <T> InstanceOf<T>();\par ?? \cf4 GenericIsExpression\cf0 InstanceOf(\cf4 Type\cf0 pluginType);\par ??\par ?? \cf3 // Creating or Adding to a Profile\par ??\cf0 \cf4 ProfileExpression\cf0 CreateProfile(\cf5 string\cf0 profileName);\par ?? \cf5 void\cf0 CreateProfile(\cf5 string\cf0 profileName, \cf4 Action\cf0 <\cf4 ProfileExpression\cf0 > action);\par ??\par ?? \cf3 // Interception\par ??\cf0 \cf5 void\cf0 RegisterInterceptor(\cf4 TypeInterceptor\cf0 interceptor);\par ?? \cf4 MatchedTypeInterceptor\cf0 IfTypeMatches(\cf4 Predicate\cf0 <\cf4 Type\cf0 > match);\par ??\par ?? \cf3 // Type Scanning and Auto Registration\par ??\cf0 \cf5 void\cf0 Scan(\cf4 Action\cf0 <\cf4 IAssemblyScanner\cf0 > action);\par ??\par ?? \cf3 // Controlling Setter Injection Behavior\par ??\cf0 \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> FillAllPropertiesOfType<PLUGINTYPE>();\par ?? \cf5 void\cf0 SetAllProperties(\cf4 Action\cf0 <\cf4 SetterConvention\cf0 > action);} +{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green128\blue0;\red43\green145\blue175;\red0\green0\blue255;}??\fs20 \cf3 // Registering Types -- BuildInstancesOf() and For() are Synonyms\par ??\cf0 \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> BuildInstancesOf<PLUGINTYPE>();\par ?? \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> ForRequestedType<PLUGINTYPE>();\par ?? \par ?? \cf4 GenericFamilyExpression\cf0 For(\cf4 Type\cf0 pluginType);\par ??\par ?? \cf3 // Shortcut for configuring the default configuration of a concrete type\par ??\cf0 \cf4 Registry\cf0 .\cf4 BuildWithExpression\cf0 <T> ForConcreteType<T>();\par ??\par ?? \cf3 // Adding additional Instances of a PluginType\par ??\cf0 \cf4 IsExpression\cf0 <T> InstanceOf<T>();\par ?? \cf4 GenericIsExpression\cf0 InstanceOf(\cf4 Type\cf0 pluginType);\par ??\par ?? \cf3 // Creating or Adding to a Profile\par ??\cf0 \cf4 ProfileExpression\cf0 CreateProfile(\cf5 string\cf0 profileName);\par ?? \cf5 void\cf0 CreateProfile(\cf5 string\cf0 profileName, \cf4 Action\cf0 <\cf4 ProfileExpression\cf0 > action);\par ??\par ?? \cf3 // Interception\par ??\cf0 \cf5 void\cf0 RegisterInterceptor(\cf4 TypeInterceptor\cf0 interceptor);\par ?? \cf4 MatchedTypeInterceptor\cf0 IfTypeMatches(\cf4 Predicate\cf0 <\cf4 Type\cf0 > match);\par ??\par ?? \cf3 // Type Scanning and Auto Registration\par ??\cf0 \cf5 void\cf0 Scan(\cf4 Action\cf0 <\cf4 IAssemblyScanner\cf0 > action);\par ??\par ?? \cf3 // Controlling Setter Injection Behavior\par ??\cf0 \cf4 CreatePluginFamilyExpression\cf0 <PLUGINTYPE> FillAllPropertiesOfType<PLUGINTYPE>();\par ?? \cf5 void\cf0 SetAllProperties(\cf4 Action\cf0 <\cf4 SetterConvention\cf0 > action);} --> <div style="font-family: Courier New; font-size: 10pt; color: black; background: white; border: black thin solid;"> <p style="margin: 0px;"> <span style="color: green;">// Registering Types -- - BuildInstancesOf() and ForRequestedType() are Synonyms</span></p> + BuildInstancesOf() and For() are Synonyms</span></p> <p style="margin: 0px;"> <span style="color: #2b91af;"> CreatePluginFamilyExpression</span><PLUGINTYPE> BuildInstancesOf<PLUGINTYPE>();</p> @@ -182,7 +182,7 @@ </p> <p style="margin: 0px;"> <span style="color: #2b91af;">GenericFamilyExpression</span> - ForRequestedType(<span style="color: #2b91af;">Type</span> pluginType);</p> + For(<span style="color: #2b91af;">Type</span> pluginType);</p> <p style="margin: 0px;"> </p> <p style="margin: 0px;"> @@ -319,7 +319,7 @@ cannot use the generic ForRequestedType<T>() method. For example, with open generic types, you have to use this syntax:</p> <!-- -{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;}??\fs20 \cf3 var\cf0 container = \cf3 new\cf0 \cf4 Container\cf0 (r =>\par ?? \{\par ?? r.ForRequestedType(\cf3 typeof\cf0 (\cf4 IRepository\cf0 <>)).TheDefaultIsConcreteType(\cf3 typeof\cf0 (\cf4 OnlineRepository\cf0 <>));\par ?? \});} +{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;}??\fs20 \cf3 var\cf0 container = \cf3 new\cf0 \cf4 Container\cf0 (r =>\par ?? \{\par ?? r.For(\cf3 typeof\cf0 (\cf4 IRepository\cf0 <>)).TheDefaultIsConcreteType(\cf3 typeof\cf0 (\cf4 OnlineRepository\cf0 <>));\par ?? \});} --> <div style="font-family: Courier New; font-size: 10pt; color: black; background: white; border: black thin solid;"> <p style="margin: 0px;"> @@ -330,7 +330,7 @@ {</p> <p style="margin: 0px;"> - r.ForRequestedType(<span style="color: blue;">typeof</span> (<span + r.For(<span style="color: blue;">typeof</span> (<span style="color: #2b91af;">IRepository</span><>)).TheDefaultIsConcreteType(<span style="color: blue;">typeof</span> (<span style="color: #2b91af;">OnlineRepository</span><>));</p> <p style="margin: 0px;"> Modified: trunk/Source/StructureMap/BuildSession.cs =================================================================== --- trunk/Source/StructureMap/BuildSession.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap/BuildSession.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -146,7 +146,6 @@ return result; } - [Obsolete("Move all of this into the new EnumerableInstance")] public virtual Array CreateInstanceArray(Type pluginType, Instance[] instances) { if (instances == null) Modified: trunk/Source/StructureMap/Configuration/DSL/IRegistry.cs =================================================================== --- trunk/Source/StructureMap/Configuration/DSL/IRegistry.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap/Configuration/DSL/IRegistry.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -44,25 +44,6 @@ void IncludeRegistry(Registry registry); /// <summary> - /// Expression Builder used to define policies for a PluginType including - /// Scoping, the Default Instance, and interception. BuildInstancesOf() - /// and ForRequestedType() are synonyms - /// </summary> - /// <typeparam name="PLUGINTYPE"></typeparam> - /// <returns></returns> - [Obsolete("Change to For<T>()")] - CreatePluginFamilyExpression<PLUGINTYPE> BuildInstancesOf<PLUGINTYPE>(); - - /// <summary> - /// Expression Builder used to define policies for a PluginType including - /// Scoping, the Default Instance, and interception. This method is specifically - /// meant for registering open generic types - /// </summary> - /// <returns></returns> - [Obsolete("Change to For(pluginType)")] - GenericFamilyExpression ForRequestedType(Type pluginType); - - /// <summary> /// This method is a shortcut for specifying the default constructor and /// setter arguments for a ConcreteType. ForConcreteType is shorthand for: /// ForRequestedType[T]().TheDefault.Is.OfConcreteType[T].************** @@ -73,20 +54,10 @@ Registry.BuildWithExpression<T> ForConcreteType<T>(); /// <summary> - /// Expression Builder used to define policies for a PluginType including - /// Scoping, the Default Instance, and interception. BuildInstancesOf() - /// and ForRequestedType() are synonyms + /// Convenience method. Equivalent of For[PluginType]().AsSingletons() /// </summary> /// <typeparam name="PLUGINTYPE"></typeparam> /// <returns></returns> - [Obsolete("Change to For<T>()")] - CreatePluginFamilyExpression<PLUGINTYPE> ForRequestedType<PLUGINTYPE>(); - - /// <summary> - /// Convenience method. Equivalent of ForRequestedType[PluginType]().AsSingletons() - /// </summary> - /// <typeparam name="PLUGINTYPE"></typeparam> - /// <returns></returns> CreatePluginFamilyExpression<PLUGINTYPE> ForSingletonOf<PLUGINTYPE>(); /// <summary> @@ -188,28 +159,28 @@ void Forward<FROM, TO>() where FROM : class where TO : class; /// <summary> - /// Syntactic Sugar for saying ForRequestedType().TheDefault.IsThis( @object ) + /// Syntactic Sugar for saying For().TheDefault.IsThis( @object ) /// </summary> /// <typeparam name="PLUGINTYPE"></typeparam> /// <param name="object"></param> void Register<PLUGINTYPE>(PLUGINTYPE @object); /// <summary> - /// Syntactic Sugar for saying ForRequestedType().TheDefault.IsThis( instance ) + /// Syntactic Sugar for saying For().TheDefault.IsThis( instance ) /// </summary> /// <typeparam name="PLUGINTYPE"></typeparam> /// <param name="instance"></param> void Register<PLUGINTYPE>(Instance instance); /// <summary> - /// Shorthand for ForRequestedType<PLUGINTYPE>() + /// Shorthand for For<PLUGINTYPE>() /// </summary> /// <typeparam name="PLUGINTYPE"></typeparam> /// <returns></returns> CreatePluginFamilyExpression<PLUGINTYPE> For<PLUGINTYPE>(); /// <summary> - /// Shorthand for ForRequestedType(pluginType) + /// Shorthand for For(pluginType) /// </summary> /// <param name="pluginType"></param> /// <returns></returns> Modified: trunk/Source/StructureMap/Configuration/DSL/Registry.cs =================================================================== --- trunk/Source/StructureMap/Configuration/DSL/Registry.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap/Configuration/DSL/Registry.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -17,7 +17,7 @@ /// { /// public MyRegistry() /// { - /// ForRequestedType(typeof(IService)).TheDefaultIsConcreteType(typeof(Service)); + /// For(typeof(IService)).TheDefaultIsConcreteType(typeof(Service)); /// } /// } /// </example> @@ -77,33 +77,7 @@ _actions.Add(registry.ConfigurePluginGraph); } - /// <summary> - /// Expression Builder used to define policies for a PluginType including - /// Scoping, the Default Instance, and interception. BuildInstancesOf() - /// and ForRequestedType() are synonyms - /// </summary> - /// <typeparam name="PLUGINTYPE"></typeparam> - /// <returns></returns> - [Obsolete("Change to For<T>()")] - public CreatePluginFamilyExpression<PLUGINTYPE> BuildInstancesOf<PLUGINTYPE>() - { - return new CreatePluginFamilyExpression<PLUGINTYPE>(this); - } - - /// <summary> - /// Expression Builder used to define policies for a PluginType including - /// Scoping, the Default Instance, and interception. This method is specifically - /// meant for registering open generic types - /// </summary> - /// <returns></returns> - [Obsolete("Change to For(pluginType)")] - public GenericFamilyExpression ForRequestedType(Type pluginType) - { - return new GenericFamilyExpression(pluginType, this); - } - - /// <summary> /// This method is a shortcut for specifying the default constructor and /// setter arguments for a ConcreteType. ForConcreteType is shorthand for: /// For[T]().Use[T].************** @@ -113,31 +87,19 @@ /// <returns></returns> public BuildWithExpression<T> ForConcreteType<T>() { - SmartInstance<T> instance = ForRequestedType<T>().TheDefault.Is.OfConcreteType<T>(); + SmartInstance<T> instance = For<T>().TheDefault.Is.OfConcreteType<T>(); return new BuildWithExpression<T>(instance); } + /// <summary> - /// Expression Builder used to define policies for a PluginType including - /// Scoping, the Default Instance, and interception. BuildInstancesOf() - /// and ForRequestedType() are synonyms - /// </summary> - /// <typeparam name="PLUGINTYPE"></typeparam> - /// <returns></returns> - [Obsolete("Change to For<T>()")] - public CreatePluginFamilyExpression<PLUGINTYPE> ForRequestedType<PLUGINTYPE>() - { - return new CreatePluginFamilyExpression<PLUGINTYPE>(this); - } - - /// <summary> /// Convenience method. Equivalent of ForRequestedType[PluginType]().Singletons() /// </summary> /// <typeparam name="PLUGINTYPE"></typeparam> /// <returns></returns> public CreatePluginFamilyExpression<PLUGINTYPE> ForSingletonOf<PLUGINTYPE>() { - return ForRequestedType<PLUGINTYPE>().Singleton(); + return For<PLUGINTYPE>().Singleton(); } /// <summary> @@ -259,7 +221,7 @@ public CreatePluginFamilyExpression<PLUGINTYPE> FillAllPropertiesOfType<PLUGINTYPE>() { PluginCache.AddFilledType(typeof (PLUGINTYPE)); - return ForRequestedType<PLUGINTYPE>(); + return For<PLUGINTYPE>(); } /// <summary> @@ -298,31 +260,31 @@ /// <summary> - /// Syntactic Sugar for saying ForRequestedType().TheDefault.IsThis( @object ) + /// Syntactic Sugar for saying For().TheDefault.IsThis( @object ) /// </summary> /// <typeparam name="PLUGINTYPE"></typeparam> /// <param name="object"></param> [Obsolete("Prefer For<T>().Use(value)")] public void Register<PLUGINTYPE>(PLUGINTYPE @object) { - ForRequestedType<PLUGINTYPE>().TheDefault.IsThis(@object); + For<PLUGINTYPE>().TheDefault.IsThis(@object); } /// <summary> - /// Syntactic Sugar for saying ForRequestedType().TheDefault.IsThis( instance ) + /// Syntactic Sugar for saying For().TheDefault.IsThis( instance ) /// </summary> /// <typeparam name="PLUGINTYPE"></typeparam> /// <param name="instance"></param> [Obsolete("Prefer For<T>().Use(instance)")] public void Register<PLUGINTYPE>(Instance instance) { - ForRequestedType<PLUGINTYPE>().TheDefault.IsThis(instance); + For<PLUGINTYPE>().TheDefault.IsThis(instance); } /// <summary> /// Expression Builder used to define policies for a PluginType including /// Scoping, the Default Instance, and interception. BuildInstancesOf() - /// and ForRequestedType() are synonyms + /// and For() are synonyms /// </summary> /// <typeparam name="PLUGINTYPE"></typeparam> /// <returns></returns> @@ -339,7 +301,7 @@ /// <returns></returns> public GenericFamilyExpression For(Type pluginType) { - return ForRequestedType(pluginType); + return new GenericFamilyExpression(pluginType, this); } Modified: trunk/Source/StructureMap/Container.cs =================================================================== --- trunk/Source/StructureMap/Container.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap/Container.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -526,8 +526,7 @@ _pipelineGraph = new PipelineGraph(pluginGraph); } - [Obsolete("delegate to something cleaner in BuildSession")] - private IList<T> getListOfTypeWithSession<T>(BuildSession session) + private static IList<T> getListOfTypeWithSession<T>(BuildSession session) { var list = new List<T>(); foreach (T instance in session.CreateInstanceArray(typeof (T), null)) Modified: trunk/Source/StructureMap/PipelineGraph.cs =================================================================== --- trunk/Source/StructureMap/PipelineGraph.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap/PipelineGraph.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -132,7 +132,7 @@ return _factories[pluginType]; } - [Obsolete("Replace this with a Cache")] + // TODO -- Replace this with a Cache private void createFactoryIfMissing(Type pluginType) { if (!_factories.ContainsKey(pluginType)) Modified: trunk/Source/StructureMap/SystemRegistry.cs =================================================================== --- trunk/Source/StructureMap/SystemRegistry.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap/SystemRegistry.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -10,7 +10,7 @@ { addExpression(graph => graph.AddType(typeof (MementoSource), typeof (XmlFileMementoSource), "XmlFile")); - ForRequestedType<MementoSource>().TheDefaultIsConcreteType<MemoryMementoSource>(); + For<MementoSource>().TheDefaultIsConcreteType<MemoryMementoSource>(); AddMementoSourceType<DirectoryXmlMementoSource>("DirectoryXml"); AddMementoSourceType<EmbeddedFolderXmlMementoSource>("EmbeddedXmlFolder"); AddMementoSourceType<SingleEmbeddedXmlMementoSource>("EmbeddedXmlFile"); Modified: trunk/Source/StructureMap.DebuggerVisualizers.Testing/Program.cs =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers.Testing/Program.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.DebuggerVisualizers.Testing/Program.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -14,15 +14,15 @@ s.TheCallingAssembly(); s.WithDefaultConventions(); }); - x.ForRequestedType<IDoMore<string>>().TheDefaultIsConcreteType<DoForStrings>(); - x.ForRequestedType<IDoThat>().AddInstances(i => + x.For<IDoMore<string>>().TheDefaultIsConcreteType<DoForStrings>(); + x.For<IDoThat>().AddInstances(i => { i.OfConcreteType<DoThat>().WithName("Red"); i.OfConcreteType<DoThat>().WithName("Blue"); }); }); - ObjectFactory.Initialize(i => i.ForRequestedType<IDoThat>().TheDefaultIsConcreteType<DoThat>()); + ObjectFactory.Initialize(i => i.For<IDoThat>().TheDefaultIsConcreteType<DoThat>()); Debug.WriteLine(container.WhatDoIHave()); ContainerDetail details = ContainerVisualizerObjectSource.BuildContainerDetails(container); Modified: trunk/Source/StructureMap.Testing/AutoWiringExamples.cs =================================================================== --- trunk/Source/StructureMap.Testing/AutoWiringExamples.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/AutoWiringExamples.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -51,7 +51,7 @@ { container = new Container(x => { - x.ForRequestedType<IValidator>().AddInstances(o => + x.For<IValidator>().AddInstances(o => { o.OfConcreteType<Validator>().WithCtorArg("name").EqualTo("Red").WithName("Red"); o.OfConcreteType<Validator>().WithCtorArg("name").EqualTo("Blue").WithName("Blue"); @@ -59,7 +59,7 @@ o.OfConcreteType<Validator>().WithCtorArg("name").EqualTo("Green").WithName("Green"); }); - x.ForRequestedType<ClassThatUsesValidators>().AddInstances(o => + x.For<ClassThatUsesValidators>().AddInstances(o => { // Define an Instance of ClassThatUsesValidators that depends on AutoWiring o.OfConcreteType<ClassThatUsesValidators>().WithName("WithAutoWiring"); Modified: trunk/Source/StructureMap.Testing/BidirectionalDependencies.cs =================================================================== --- trunk/Source/StructureMap.Testing/BidirectionalDependencies.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/BidirectionalDependencies.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -13,8 +13,8 @@ { container = new Container(x => { - x.ForRequestedType<IBiView>().TheDefaultIsConcreteType<BiView>(); - x.ForRequestedType<IBiPresenter>().TheDefaultIsConcreteType<BiPresenter>(); + x.For<IBiView>().TheDefaultIsConcreteType<BiView>(); + x.For<IBiPresenter>().TheDefaultIsConcreteType<BiPresenter>(); }); } Modified: trunk/Source/StructureMap.Testing/Bugs/FillAllPropertiesShouldWorkForAlreadyConfiguredPluginsBug.cs =================================================================== --- trunk/Source/StructureMap.Testing/Bugs/FillAllPropertiesShouldWorkForAlreadyConfiguredPluginsBug.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Bugs/FillAllPropertiesShouldWorkForAlreadyConfiguredPluginsBug.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -16,7 +16,7 @@ container.Configure(x => { - x.ForRequestedType<ISomeDependency>() + x.For<ISomeDependency>() .TheDefaultIsConcreteType<ClassThatImplementsDependency>(); x.FillAllPropertiesOfType<ISomeDependency>(); Modified: trunk/Source/StructureMap.Testing/Bugs/HttpSessionNullRefBug.cs =================================================================== --- trunk/Source/StructureMap.Testing/Bugs/HttpSessionNullRefBug.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Bugs/HttpSessionNullRefBug.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -11,7 +11,7 @@ { var container = new Container(x => { - x.ForRequestedType<IGateway>() + x.For<IGateway>() .CacheBy(InstanceScope.HybridHttpSession) .TheDefaultIsConcreteType<DefaultGateway>(); }); Modified: trunk/Source/StructureMap.Testing/Bugs/LambdaCreatesNullBugTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Bugs/LambdaCreatesNullBugTester.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Bugs/LambdaCreatesNullBugTester.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -20,9 +20,9 @@ { var container = new Container(x => { - x.ForRequestedType<IPrincipal>().TheDefault.Is.ConstructedBy(() => null); + x.For<IPrincipal>().TheDefault.Is.ConstructedBy(() => null); - x.ForRequestedType<TestClass>().TheDefaultIsConcreteType<TestClass>(); + x.For<TestClass>().TheDefaultIsConcreteType<TestClass>(); }); container.GetInstance<TestClass>().ShouldNotBeNull(); Modified: trunk/Source/StructureMap.Testing/Bugs/MixedConfigureAndInitializeMissingInstanceProblem.cs =================================================================== --- trunk/Source/StructureMap.Testing/Bugs/MixedConfigureAndInitializeMissingInstanceProblem.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Bugs/MixedConfigureAndInitializeMissingInstanceProblem.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -15,7 +15,7 @@ new Container( x => { - x.ForRequestedType<IWidget>().MissingNamedInstanceIs.Conditional( + x.For<IWidget>().MissingNamedInstanceIs.Conditional( o => { o.TheDefault.Is.ConstructedBy(c => new ColorWidget(c.RequestedName)); }); }); } @@ -27,7 +27,7 @@ [Test] public void configure_again_and_try_to_fetch_the_missing_instance() { - container.Configure(x => { x.ForRequestedType<IWidget>().TheDefaultIsConcreteType<AWidget>(); }); + container.Configure(x => { x.For<IWidget>().TheDefaultIsConcreteType<AWidget>(); }); container.GetInstance<IWidget>("Red").ShouldBeOfType<ColorWidget>().Color.ShouldEqual("Red"); } @@ -35,12 +35,12 @@ [Test] public void configure_the_missing_method_instance_in_the_configure() { - container = new Container(x => { x.ForRequestedType<IWidget>().TheDefaultIsConcreteType<AWidget>(); }); + container = new Container(x => { x.For<IWidget>().TheDefaultIsConcreteType<AWidget>(); }); container.Configure( x => { - x.ForRequestedType<IWidget>().MissingNamedInstanceIs.Conditional( + x.For<IWidget>().MissingNamedInstanceIs.Conditional( o => { o.TheDefault.Is.ConstructedBy(c => new ColorWidget(c.RequestedName)); }); }); Modified: trunk/Source/StructureMap.Testing/Bugs/SingletonShouldBeLazy.cs =================================================================== --- trunk/Source/StructureMap.Testing/Bugs/SingletonShouldBeLazy.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Bugs/SingletonShouldBeLazy.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -32,7 +32,7 @@ { var container = new Container(x => { - x.ForRequestedType<IGateway>().CacheBy(InstanceScope.Singleton).TheDefaultIsConcreteType + x.For<IGateway>().CacheBy(InstanceScope.Singleton).TheDefaultIsConcreteType <SingletonShouldBeLazy>(); }); } @@ -78,7 +78,7 @@ ObjectFactory.Initialize(registry => registry.UseDefaultStructureMapConfigFile = false); ObjectFactory.Configure(registry => - registry.ForRequestedType<ICrm>().TheDefaultIsConcreteType<Crm> + registry.For<ICrm>().TheDefaultIsConcreteType<Crm> ().CacheBy(InstanceScope.Singleton)); } } Modified: trunk/Source/StructureMap.Testing/Bugs/SpecifyScopeInConfigureTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Bugs/SpecifyScopeInConfigureTester.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Bugs/SpecifyScopeInConfigureTester.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -12,7 +12,7 @@ var container = new Container(x => { }); container.Configure(x => { - x.ForRequestedType<IGateway>().CacheBy(InstanceScope.Singleton) + x.For<IGateway>().CacheBy(InstanceScope.Singleton) .TheDefaultIsConcreteType<DefaultGateway>(); }); Modified: trunk/Source/StructureMap.Testing/BuildSessionTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/BuildSessionTester.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/BuildSessionTester.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -97,7 +97,7 @@ { IContainer manager = new Container(r => { - r.ForRequestedType<IWidget>().AddInstances(x => + r.For<IWidget>().AddInstances(x => { x.Object(new ColorWidget("Red")); x.Object(new ColorWidget("Blue")); @@ -144,7 +144,7 @@ return new ColorRule("Red"); }); var registry = new Registry(); - registry.ForRequestedType<ColorRule>().TheDefault.IsThis(instance); + registry.For<ColorRule>().TheDefault.IsThis(instance); PluginGraph graph = registry.Build(); var session = new BuildSession(graph); Modified: trunk/Source/StructureMap.Testing/BuildUpIntegratedTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/BuildUpIntegratedTester.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/BuildUpIntegratedTester.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -23,7 +23,7 @@ var theGateway = new DefaultGateway(); var container = new Container(x => { - x.ForRequestedType<IGateway>().TheDefault.IsThis(theGateway); + x.For<IGateway>().TheDefault.IsThis(theGateway); x.SetAllProperties(y => { y.OfType<IGateway>(); }); }); @@ -41,7 +41,7 @@ ObjectFactory.Initialize(x => { x.IgnoreStructureMapConfig = true; - x.ForRequestedType<IGateway>().TheDefault.IsThis(theGateway); + x.For<IGateway>().TheDefault.IsThis(theGateway); // First we create a new Setter Injection Policy that // forces StructureMap to inject all public properties Modified: trunk/Source/StructureMap.Testing/Configuration/DSL/AddTypesTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/DSL/AddTypesTester.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Configuration/DSL/AddTypesTester.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -29,7 +29,7 @@ [Test] public void A_concrete_type_is_available_by_name_when_it_is_added_by_the_shorthand_mechanism() { - IContainer container = new Container(r => r.ForRequestedType<IAddTypes>().AddInstances(x => + IContainer container = new Container(r => r.For<IAddTypes>().AddInstances(x => { x.OfConcreteType<RedAddTypes>().WithName("Red"); x.OfConcreteType<GreenAddTypes>().WithName("Green"); @@ -45,7 +45,7 @@ [Test] public void A_concrete_type_is_available_when_it_is_added_by_the_shorthand_mechanism() { - IContainer manager = new Container(registry => registry.ForRequestedType<IAddTypes>() + IContainer manager = new Container(registry => registry.For<IAddTypes>() .AddConcreteType<RedAddTypes>() .AddConcreteType<GreenAddTypes>() .AddConcreteType<BlueAddTypes>() @@ -60,7 +60,7 @@ public void Make_sure_that_we_dont_double_dip_instances_when_we_register_a_type_with_a_name() { IContainer manager = new Container(r => - r.ForRequestedType<IAddTypes>().AddInstances(x => + r.For<IAddTypes>().AddInstances(x => { x.OfConcreteType<GreenAddTypes>(); x.OfConcreteType<BlueAddTypes>(); Modified: trunk/Source/StructureMap.Testing/Configuration/DSL/ConstructorExpressionTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/DSL/ConstructorExpressionTester.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Configuration/DSL/ConstructorExpressionTester.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -21,7 +21,7 @@ var concretion2 = new Concretion(); IContainer container = new Container(r => - r.ForRequestedType<Abstraction>().AddInstances(x => + r.For<Abstraction>().AddInstances(x => { x.ConstructedBy(() => concretion1).WithName("One"); x.ConstructedBy(() => concretion2).WithName("Two"); @@ -38,7 +38,7 @@ IContainer container = new Container( - registry => registry.ForRequestedType<Abstraction>().TheDefault.Is.ConstructedBy(() => concretion)); + registry => registry.For<Abstraction>().TheDefault.Is.ConstructedBy(() => concretion)); container.GetInstance<Abstraction>().ShouldBeTheSameAs(concretion); } @@ -50,7 +50,7 @@ IContainer manager = new Container(registry => { - registry.ForRequestedType<Abstraction>().AddInstances(x => + registry.For<Abstraction>().AddInstances(x => { x.ConstructedBy(() => concretion1).WithName("One"); x.ConstructedBy(() => concretion2).WithName("Two"); Modified: trunk/Source/StructureMap.Testing/Configuration/DSL/CreatePluginFamilyTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/DSL/CreatePluginFamilyTester.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Configuration/DSL/CreatePluginFamilyTester.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -87,7 +87,7 @@ { var registry = new Registry(); CreatePluginFamilyExpression<IGateway> expression = - registry.BuildInstancesOf<IGateway>().CacheBy(InstanceScope.ThreadLocal); + registry.For<IGateway>().CacheBy(InstanceScope.ThreadLocal); Assert.IsNotNull(expression); PluginGraph pluginGraph = registry.Build(); @@ -102,7 +102,7 @@ public void BuildInstancesOfType() { var registry = new Registry(); - registry.BuildInstancesOf<IGateway>(); + registry.For<IGateway>(); PluginGraph pluginGraph = registry.Build(); Assert.IsTrue(pluginGraph.ContainsFamily(typeof (IGateway))); @@ -114,7 +114,7 @@ { var registry = new Registry(); CreatePluginFamilyExpression<IGateway> expression = - registry.BuildInstancesOf<IGateway>(); + registry.For<IGateway>(); Assert.IsNotNull(expression); PluginGraph pluginGraph = registry.Build(); @@ -128,7 +128,7 @@ { var registry = new Registry(); CreatePluginFamilyExpression<IGateway> expression = - registry.BuildInstancesOf<IGateway>().Singleton(); + registry.For<IGateway>().Singleton(); Assert.IsNotNull(expression); PluginGraph pluginGraph = registry.Build(); @@ -143,7 +143,7 @@ { var container = new Container(x => { - x.ForRequestedType<ClassWithStringInConstructor>().TheDefaultIsConcreteType + x.For<ClassWithStringInConstructor>().TheDefaultIsConcreteType <ClassWithStringInConstructor>(); }); Assert.Fail("Should have thrown exception 231"); @@ -159,7 +159,7 @@ { var registry = new Registry(); // Specify the default implementation for an interface - registry.BuildInstancesOf<IGateway>().TheDefaultIsConcreteType<StubbedGateway>(); + registry.For<IGateway>().TheDefaultIsConcreteType<StubbedGateway>(); PluginGraph pluginGraph = registry.Build(); Assert.IsTrue(pluginGraph.ContainsFamily(typeof (IGateway))); @@ -174,7 +174,7 @@ public void CanOverrideTheDefaultInstanceAndCreateAnAllNewPluginOnTheFly() { var registry = new Registry(); - registry.BuildInstancesOf<IGateway>().TheDefaultIsConcreteType<FakeGateway>(); + registry.For<IGateway>().TheDefaultIsConcreteType<FakeGateway>(); PluginGraph pluginGraph = registry.Build(); Assert.IsTrue(pluginGraph.ContainsFamily(typeof (IGateway))); @@ -190,7 +190,7 @@ { var container = new Container(r => { - r.ForRequestedType<IWidget>().TheDefault.Is.OfConcreteType<ColorWidget>() + r.For<IWidget>().TheDefault.Is.OfConcreteType<ColorWidget>() .WithCtorArg("color").EqualTo("Red"); }); @@ -203,7 +203,7 @@ var lifecycle = new StubbedLifecycle(); var registry = new Registry(); - registry.BuildInstancesOf<IGateway>().LifecycleIs(lifecycle); + registry.For<IGateway>().LifecycleIs(lifecycle); PluginGraph pluginGraph = registry.Build(); @@ -215,7 +215,7 @@ { var manager = new Container( - registry => registry.ForRequestedType<IWidget>().TheDefault.Is.ConstructedBy(() => new AWidget())); + registry => registry.For<IWidget>().TheDefault.Is.ConstructedBy(() => new AWidget())); Assert.IsInstanceOfType(typeof (AWidget), manager.GetInstance<IWidget>()); } @@ -227,7 +227,7 @@ var manager = new Container( - registry => registry.ForRequestedType<IWidget>().TheDefault.Is.Object(aWidget)); + registry => registry.For<IWidget>().TheDefault.Is.Object(aWidget)); Assert.AreSame(aWidget, manager.GetInstance<IWidget>()); } @@ -240,7 +240,7 @@ { var manager = new Container( - registry => registry.ForRequestedType<Guid>().TheDefault.Is.ConstructedBy(() => Guid.NewGuid())); + registry => registry.For<Guid>().TheDefault.Is.ConstructedBy(() => Guid.NewGuid())); Assert.IsInstanceOfType(typeof (Guid), manager.GetInstance<Guid>()); } @@ -249,7 +249,7 @@ public void TheDefaultInstanceIsConcreteType() { IContainer manager = new Container( - registry => registry.BuildInstancesOf<Rule>().TheDefaultIsConcreteType<ARule>()); + registry => registry.For<Rule>().TheDefaultIsConcreteType<ARule>()); Assert.IsInstanceOfType(typeof (ARule), manager.GetInstance<Rule>()); } @@ -258,7 +258,7 @@ public void TheDefaultInstanceIsPickedUpFromTheAttribute() { var registry = new Registry(); - registry.BuildInstancesOf<IGateway>(); + registry.For<IGateway>(); registry.Scan(x => x.AssemblyContainingType<IGateway>()); PluginGraph pluginGraph = registry.Build(); Modified: trunk/Source/StructureMap.Testing/Configuration/DSL/DeepInstanceTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/Configuration/DSL/DeepInstanceTester.cs 2010-01-04 18:56:18 UTC (rev 320) +++ trunk/Source/StructureMap.Testing/Configuration/DSL/DeepInstanceTester.cs 2010-01-04 19:08:50 UTC (rev 321) @@ -21,12 +21,12 @@ { assertThingMatches(r => { - r.ForRequestedType<IWidget>().TheDefault.Is.OfConcreteType<ColorWidget>() + r.For<IWidget>().TheDefault.Is.OfConcreteType<ColorWidget>() .WithProperty("color").EqualTo("yellow"); - r.ForRequestedType<Rule>().TheDefaultIsConcreteType<WidgetRule>(); + r.For<Rule>().TheDefaultIsConcreteType<WidgetRule>(); - r.ForRequestedType<Thing>().TheDefault.Is.OfConcreteType<Thing>() + r.For<Thing>().TheDefault.Is.OfConcreteType<Thing>() .WithCtorArg("average").EqualTo(.333) .WithCtorArg("name").EqualTo("Jeremy") .WithCtorArg("count").EqualTo(4); @@ -38,11 +38,11 @@ { assertThingMatches(r => { - r.ForRequestedType<IWidget>().TheDefault.IsThis(new ColorWidget("yellow")); + r.For<IWidget>().TheDefault.IsThis(new ColorWidget("yellow")); - r.ForRequestedType<Rule>().TheDefaultIsConcreteType<WidgetRule>(); + r.For<Rule>().TheDefaultIsConcreteType<WidgetRule>(); - r.ForRequestedType<Thing>().TheDefault.Is.OfConcreteType<Thing>() + r.For<Thing>().TheDefault.Is.OfConcreteType<Thing>() .WithProperty("average").EqualTo(.333) .WithProperty("name").EqualTo("Jeremy") .WithProperty("count").EqualTo(4); @@ -55,11 +55,11 @@ { assertThingMatches(r => { - r.ForRequestedType<IWidget>().TheDefault.Is.PrototypeOf(new ColorWidget("yellow")); + r.For<IWidget>().TheDefault.Is.PrototypeOf(new ColorWidget("yellow")); - r.BuildInstancesOf<Rule>().TheDefaultIsConcreteType<WidgetRule>(); + r.For<Rule>().TheDefaultIsConcreteType<WidgetRule>(); - r.ForRequestedType<Thing>().TheDefault.Is.OfConcreteType<Thing>() + r.For<Thing>().TheDefault.Is.OfConcreteType<Thing>() .WithProperty("average").EqualTo(.333) .WithProperty("name").EqualTo("Jeremy") .WithProperty("count").EqualTo(4); @@ -82,7 +82,7 @@ .WithName("TheWidgetRule") .CtorDependency<IWidget>().Is(i => i.TheInstanceNamed("Yellow")); - registry.BuildInstancesOf<Thing>().TheDefault.Is.OfConcreteType<Thing>() + registry.For<Thing>().TheDefault.Is.OfConcreteType<Thing>() .WithCtorArg("average").EqualTo(.333) .WithCtorArg("name").EqualTo("Jeremy") .WithCtorArg("count").EqualTo(4) @@ -96,7 +96,7 @@ { assertThingMatches(registry => { - registry.ForRequestedType<Thing>().TheDefault.Is.OfConcreteType<Thing>() + registry.For<Thing>().TheDefault.Is.OfConcreteType<Thing>() ... [truncated message content] |