static object BuildUpNewObject(IBuilderContext context, object buildKey) { ICreationPolicy policy = context.Policies.Get <ICreationPolicy>(buildKey); if (policy == null) { throw new InvalidOperationException("Could not find creation policy for build key " + buildKey); } return(policy.Create(context, buildKey)); }
public void ZeroConstructorsOnReferenceType() { MockBuilderContext context = new MockBuilderContext(); ConstructorReflectionStrategy strategy = new ConstructorReflectionStrategy(); strategy.BuildUp(context, typeof(ZeroClass), null); ICreationPolicy policy = context.Policies.Get <ICreationPolicy>(typeof(ZeroClass)); Assert.NotNull(policy); Assert.IsType <ZeroClass>(policy.Create(context, typeof(ZeroClass))); }
public void OneDecoratedConstructor() { MockBuilderContext context = new MockBuilderContext(); ConstructorReflectionStrategy strategy = new ConstructorReflectionStrategy(); strategy.BuildUp(context, typeof(Decorated), null); ICreationPolicy policy = context.Policies.Get <ICreationPolicy>(typeof(Decorated)); Decorated decorated = Assert.IsType <Decorated>(policy.Create(context, typeof(Decorated))); Assert.True(decorated.Constructor__Called); }
public void ZeroConstructorsOnReferenceType() { MockBuilderContext context = new MockBuilderContext(); ConstructorReflectionStrategy <InjectionConstructorAttribute, DependencyAttribute> strategy = new ConstructorReflectionStrategy <InjectionConstructorAttribute, DependencyAttribute>(); context.Strategies.Add(strategy); context.ExecuteBuildUp(typeof(ZeroClass), null); ICreationPolicy policy = context.Policies.Get <ICreationPolicy>(typeof(ZeroClass)); Assert.IsNotNull(policy); AssertHelper.IsType <ZeroClass>(policy.Create(context, typeof(ZeroClass))); }
public void OneDecoratedConstructor() { MockBuilderContext context = new MockBuilderContext(); ConstructorReflectionStrategy <InjectionConstructorAttribute, DependencyAttribute> strategy = new ConstructorReflectionStrategy <InjectionConstructorAttribute, DependencyAttribute>(); context.Strategies.Add(strategy); context.ExecuteBuildUp(typeof(Decorated), null); ICreationPolicy policy = context.Policies.Get <ICreationPolicy>(typeof(Decorated)); Decorated decorated = AssertHelper.IsType <Decorated>(policy.Create(context, typeof(Decorated))); Assert.IsTrue(decorated.Constructor__Called); }
static object BuildUpNewObject(IBuilderContext context) { ICreationPolicy policy = context.Policies.Get <ICreationPolicy>(context.BuildKey); if (policy == null) { throw new InvalidOperationException( string.Format( CultureInfo.CurrentCulture, Resources.NoCreationPolicy, context.BuildKey)); } return(policy.Create(context, context.BuildKey)); }
public T Get() { T l_instance = default(T); if (availableObjects.Count == 0) { l_instance = m_CreationPolicy.Create(); } else { l_instance = availableObjects[availableObjects.Count - 1]; availableObjects.Remove(l_instance); } dispatchedObjects.Add(l_instance); return(l_instance); }