public void UsingInitialImplType_resolves_impl_from_resolver(IResolver resolver, ServiceImpl1 impl) { var sut = new AutofacDecoratorBuilder(resolver, typeof(IServiceInterface)); Mock.Get(resolver) .Setup(x => x.Resolve(typeof(ServiceImpl1), It.IsAny <IEnumerable <Parameter> >())) .Returns(impl); var result = sut.UsingInitialImplType(typeof(ServiceImpl1)); Assert.That(result?.Implementation, Is.SameAs(impl)); }
public void UsingInitialImplType_passes_params_to_resolver(IResolver resolver, ServiceImpl1 impl, Parameter[] parameters) { var sut = new AutofacDecoratorBuilder(resolver, typeof(IServiceInterface)); Mock.Get(resolver) .Setup(x => x.Resolve(typeof(ServiceImpl1), parameters)) .Returns(impl); var result = sut.UsingInitialImplType(typeof(ServiceImpl1), parameters); Assert.That(result?.Implementation, Is.SameAs(impl)); }
public void UsingInitialImplType_throws_exception_if_impl_type_does_not_derive_from_service(IResolver resolver) { var sut = new AutofacDecoratorBuilder(resolver, typeof(IServiceInterface)); Assert.That(() => sut.UsingInitialImplType(typeof(DifferentImpl)), Throws.ArgumentException); }