public void PolicyShouldRequestTypeMappingFromContainer() { TestableRootCompositionContainer container = new TestableRootCompositionContainer(); container.RegisterTypeMapping<IFoo, Foo>(); ContainerAwareTypeMappingPolicy policy = new ContainerAwareTypeMappingPolicy(); string requestId = "My mapped object"; DependencyResolutionLocatorKey requestKey = new DependencyResolutionLocatorKey(typeof (IFoo), requestId); DependencyResolutionLocatorKey result = policy.Map(container.Locator, requestKey); Assert.AreEqual(typeof (Foo), result.Type); Assert.AreEqual(requestId, result.ID); }
public void PolicyCallsUpToParentContainerToGetMapping() { TestableRootCompositionContainer container = new TestableRootCompositionContainer(); container.RegisterTypeMapping<IFoo, Foo>(); CompositionContainer child = container.Containers.AddNew<CompositionContainer>(); ContainerAwareTypeMappingPolicy policy = new ContainerAwareTypeMappingPolicy(); string requestId = "My mapped object"; DependencyResolutionLocatorKey requestKey = new DependencyResolutionLocatorKey(typeof (IFoo), requestId); DependencyResolutionLocatorKey result = policy.Map(child.Locator, requestKey); Assert.AreEqual(typeof (Foo), result.Type); Assert.AreEqual(requestId, result.ID); }