public void ResolveServiceShouldThrowIfServiceProviderReturnsNullAndServiceIsAbstract([Frozen] IServiceProvider resolver, ServiceProviderOrActivatorResolver sut) { Mock.Get(resolver).Setup(x => x.GetService(typeof(MyAbstractClass))).Returns(() => null); Assert.That(() => sut.ResolveService <object>(typeof(MyAbstractClass)), Throws.InstanceOf <ResolutionException>()); }
public void ResolveServiceShouldThrowIfServiceProviderReturnsNullAndServiceHasConstructorDependencies([Frozen] IServiceProvider resolver, ServiceProviderOrActivatorResolver sut) { Mock.Get(resolver).Setup(x => x.GetService(typeof(RuleWithConstructorDependency))).Returns(() => null); Assert.That(() => sut.ResolveService <object>(typeof(RuleWithConstructorDependency)), Throws.InstanceOf <ResolutionException>()); }
public void ResolveServiceShouldReturnInstanceCreatedUsingActivatorIfServiceProviderReturnsNull([Frozen] IServiceProvider resolver, ServiceProviderOrActivatorResolver sut) { Mock.Get(resolver).Setup(x => x.GetService(typeof(ObjectRule))).Returns(() => null); Assert.That(() => sut.ResolveService <object>(typeof(ObjectRule)), Is.InstanceOf <ObjectRule>()); }
public void ResolveServiceShouldThrowArgExceptionIfImplementationTypeDoesNotImplementGenericType(ServiceProviderOrActivatorResolver sut) { Assert.That(() => sut.ResolveService <string>(typeof(ObjectRule)), Throws.ArgumentException); }
public void ResolveServiceShouldThrowAneIfImplementationTypeIsNull(ServiceProviderOrActivatorResolver sut) { Assert.That(() => sut.ResolveService <object>(null), Throws.ArgumentNullException); }
public void ResolveServiceShouldReturnInstanceFromServiceProviderIfItIsNotNull([Frozen] IServiceProvider resolver, ServiceProviderOrActivatorResolver sut, object service, Type implType) { Mock.Get(resolver).Setup(x => x.GetService(implType)).Returns(service); Assert.That(() => sut.ResolveService <object>(implType), Is.SameAs(service)); }