public void Autofac_IEntityDefaultsDecoratorProvider( ) { IEntityDefaultsDecoratorProvider instance = Factory.Current.Resolve <IEntityDefaultsDecoratorProvider>( ); Assert.That(instance, Is.InstanceOf <CachingEntityDefaultsDecoratorProvider>( )); CachingEntityDefaultsDecoratorProvider cache = ( CachingEntityDefaultsDecoratorProvider )instance; Assert.That(cache.InnerProvider, Is.InstanceOf <EntityDefaultsDecoratorProvider>( )); }
/// <summary> /// Create a new <see cref="CachingEntityDefaultsDecoratorProvider"/>. /// </summary> /// <param name="innerProvider"> /// The <see cref="IEntityDefaultsDecoratorProvider"/> that will actually provide default-value decorators. /// </param> public CachingEntityDefaultsDecoratorProvider([WithKey(Factory.NonCachedKey)] IEntityDefaultsDecoratorProvider innerProvider) : base("EntityDefaultsDecoratorProviderKey", new CacheFactory { MetadataCache = true }) { if (innerProvider == null) { throw new ArgumentNullException("innerProvider"); } InnerProvider = innerProvider; }
/// <summary> /// Constructor /// </summary> /// <param name="entityRepository">Loads the mapping configuration.</param> /// <param name="resourceResolverProvider">Looks up related entities.</param> /// <param name="entityDefaultsDecoratorProvider"></param> public ReaderToEntityAdapterProvider([NotNull] IEntityRepository entityRepository, [NotNull] IResourceResolverProvider resourceResolverProvider, [CanBeNull] IEntityDefaultsDecoratorProvider entityDefaultsDecoratorProvider) { if (entityRepository == null) { throw new ArgumentNullException("entityRepository"); } if (resourceResolverProvider == null) { throw new ArgumentNullException("resourceResolverProvider"); } _entityRepository = entityRepository; _resourceResolverProvider = resourceResolverProvider; _entityDefaultsDecoratorProvider = entityDefaultsDecoratorProvider; }