public void DoesNotUsePolicyWhenPassedExistingObject() { object existing = new object(); MockBuilderContext context = CreateContext(); StubCreationPolicy policy = new StubCreationPolicy(); context.Policies.SetDefault <ICreationPolicy>(policy); object result = context.ExecuteBuildUp(typeof(object), existing); Assert.IsFalse(policy.Create__Called); Assert.AreSame(existing, result); }
public void UsesPolicyToCreateObject() { object obj = new object(); MockBuilderContext context = CreateContext(); StubCreationPolicy policy = new StubCreationPolicy(); policy.Create__Result = obj; context.Policies.SetDefault <ICreationPolicy>(policy); object result = context.ExecuteBuildUp(typeof(object), null); Assert.IsTrue(policy.Create__Called); Assert.AreSame(context, policy.Create_Context); Assert.AreSame(typeof(object), policy.Create_BuildKey); Assert.AreSame(obj, result); }