public void RegisterType <Abstract, Concrete>(bool singleton) where Concrete : Abstract { var concreteType = typeof(Concrete); var abstractType = typeof(Abstract); if (!_resolvers.ContainsKey(concreteType)) { RegisterType(singleton, concreteType); } _resolvers[abstractType] = new AbstractTypeResolver(concreteType, this); }
public void CallsContainerToResolveTypes() { var mockContainer = new Mock <IContainer>(); var expectedInstance = new object(); mockContainer .Setup(x => x.Resolve(typeof(object))) .Returns(expectedInstance); var resolver = new AbstractTypeResolver(typeof(object), mockContainer.Object); Assert.AreEqual(expectedInstance, resolver.Resolve()); }