public void ReportToQueryConverter( ) { IReportToQueryConverter instance = Factory.ReportToQueryConverter; Assert.That(instance, Is.TypeOf <CachingReportToQueryConverter>( )); CachingReportToQueryConverter cachingConverter = ( CachingReportToQueryConverter )instance; Assert.That(cachingConverter.Converter, Is.TypeOf <ReportToQueryConverter>( )); }
/// <summary> /// Create a new <see cref="CachingReportToQueryConverter"/>. /// </summary> /// <param name="converter"> /// The wrapped converter. /// </param> public CachingReportToQueryConverter([WithKey(Factory.NonCachedKey)] IReportToQueryConverter converter) { if (converter == null) { throw new ArgumentNullException("converter"); } Converter = converter; Cache = CacheFactory.CreateSimpleCache <CachingReportToQueryConverterKey, CachingReportToQueryConverterValue>("Report To Query"); _cacheInvalidator = new ReportToQueryCacheInvalidator(Cache); _syncRoot = new object(); }
/// <summary> /// Create a new <see cref="QueryRepository" />. /// </summary> /// <param name="reportToQueryConverter">A <see cref="IReportToQueryConverter" />. This cannot be null.</param> /// <param name="ruleRepository">The rule repository.</param> /// <param name="entityRepository">The entity repository.</param> /// <param name="accessRuleFilter">A filter applied to <see cref="AccessRule" />. This cannot be null.</param> /// <exception cref="System.ArgumentNullException"> /// reportToQueryConverter /// or /// ruleRepository /// or /// entityRepository /// or /// accessRuleFilter /// </exception> /// <exception cref="ArgumentNullException">No argument can be null.</exception> internal QueryRepository(IReportToQueryConverter reportToQueryConverter, IRuleRepository ruleRepository, IEntityRepository entityRepository, Predicate <AccessRule> accessRuleFilter) { if (reportToQueryConverter == null) { throw new ArgumentNullException("reportToQueryConverter"); } if (ruleRepository == null) { throw new ArgumentNullException("ruleRepository"); } if (entityRepository == null) { throw new ArgumentNullException("entityRepository"); } if (accessRuleFilter == null) { throw new ArgumentNullException("accessRuleFilter"); } Converter = reportToQueryConverter; RuleRepository = ruleRepository; ReportEntityRepository = entityRepository; Filter = accessRuleFilter; }
public void ReportToQueryConverter_SameInstanceForCacheViaResolve( ) { IReportToQueryConverter converter = Factory.Current.Resolve <IReportToQueryConverter>(); Assert.That(converter, Is.SameAs(Factory.ReportToQueryConverter)); }