public void CreateNewAttributeAlwaysCreatesNewObject() { MockBuilderContext context; context = CreateContext(); MockRequiresNewObject depending1 = (MockRequiresNewObject)context.HeadOfChain.BuildUp(context, typeof(MockRequiresNewObject), null, null); context = CreateContext(); MockRequiresNewObject depending2 = (MockRequiresNewObject)context.HeadOfChain.BuildUp(context, typeof(MockRequiresNewObject), null, null); Assert.IsNotNull(depending1); Assert.IsNotNull(depending2); Assert.IsNotNull(depending1.Foo); Assert.IsNotNull(depending2.Foo); Assert.IsFalse(depending1.Foo == depending2.Foo); }
public void NamedAndUnnamedObjectsInLocatorDontGetUsedForCreateNew() { MockBuilderContext context = CreateContext(); object unnamed = new object(); object named = new object(); context.Locator.Add(new DependencyResolutionLocatorKey(typeof(object), null), unnamed); context.Locator.Add(new DependencyResolutionLocatorKey(typeof(object), "Foo"), named); MockRequiresNewObject depending1 = (MockRequiresNewObject)context.HeadOfChain.BuildUp(context, typeof(MockRequiresNewObject), null, null); MockRequiresNewObject depending2 = (MockRequiresNewObject)context.HeadOfChain.BuildUp(context, typeof(MockRequiresNewObject), null, null); Assert.IsFalse(depending1.Foo == unnamed); Assert.IsFalse(depending2.Foo == unnamed); Assert.IsFalse(depending1.Foo == named); Assert.IsFalse(depending2.Foo == named); }