public void InjectionCreatesNewNamedObjectIfNotExisting() { // Mode 3, no existing object MockBuilderContext context = CreateContext(); MockDependingNamedObject depending = (MockDependingNamedObject)context.HeadOfChain.BuildUp(context, typeof(MockDependingNamedObject), null, null); Assert.IsNotNull(depending); Assert.IsNotNull(depending.InjectedObject); }
public void InjectionCreatingNewNamedObjectWillOnlyCreateOnce() { // Mode 3, both flavors MockBuilderContext context = CreateContext(); MockDependingNamedObject depending1 = (MockDependingNamedObject)context.HeadOfChain.BuildUp(context, typeof(MockDependingNamedObject), null, null); MockDependingNamedObject depending2 = (MockDependingNamedObject)context.HeadOfChain.BuildUp(context, typeof(MockDependingNamedObject), null, null); Assert.AreSame(depending1.InjectedObject, depending2.InjectedObject); }
public void NamedAndUnnamedObjectsDontCollide() { MockBuilderContext context = CreateContext(); object dependent = new object(); context.InnerLocator.Add(new DependencyResolutionLocatorKey(typeof(object), null), dependent); MockDependingNamedObject depending = (MockDependingNamedObject)context.HeadOfChain.BuildUp(context, typeof(MockDependingNamedObject), null, null); Assert.IsFalse(Object.ReferenceEquals(dependent, depending.InjectedObject)); }