public Task <IResourceFactory <TImage> > CreateAsync(ResourceFactoryCreateContext <TImage> context) { return(Task.FromResult <IResourceFactory <TImage> >(new PlatformResourceCreator <TResource, TImage>(context.SourceProvider) { EnableCache = EnableCache })); }
public async Task CreateFromFactory() { var provider = new NullComicSourceProvider(); var fc = new PlatformResourceCreatorFactory <object, object>(); var ctx = new ResourceFactoryCreateContext <object> { SourceProvider = provider }; var val = await fc.CreateAsync(ctx); Assert.IsNotNull(val); Assert.AreEqual(fc.EnableCache, ((PlatformResourceCreator <object, object>)val).EnableCache); fc.EnableCache = false; val = await fc.CreateAsync(ctx); Assert.IsNotNull(val); Assert.AreEqual(fc.EnableCache, ((PlatformResourceCreator <object, object>)val).EnableCache); }
public async Task Init_CallGetCreate_MustReturnNotNull() { var factor = new StreamResourceFactoryCreator(); var prov = new NullSourceProvider(); var addr = "sdasafsd"; var visit = new NullComicVisiting <Stream>(); var ctx = new ResourceFactoryCreateContext <Stream> { SourceProvider = prov, Address = addr, Visiting = visit }; Assert.AreEqual(prov, ctx.SourceProvider); Assert.AreEqual(addr, ctx.Address); Assert.AreEqual(visit, ctx.Visiting); Assert.AreEqual(visit.Host, ctx.ServiceProvider); var c = await factor.CreateAsync(ctx); Assert.IsNotNull(c); c.Dispose(); factor.Dispose(); }
public WebResourceFactory(ResourceFactoryCreateContext <Stream> context) { this.context = context ?? throw new ArgumentNullException(nameof(context)); }
public Task <IResourceFactory <Stream> > CreateAsync(ResourceFactoryCreateContext <Stream> context) { return(Task.FromResult <IResourceFactory <Stream> >(new WebResourceFactory(context))); }