コード例 #1
0
 public Task <IResourceFactory <TImage> > CreateAsync(ResourceFactoryCreateContext <TImage> context)
 {
     return(Task.FromResult <IResourceFactory <TImage> >(new PlatformResourceCreator <TResource, TImage>(context.SourceProvider)
     {
         EnableCache = EnableCache
     }));
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }
コード例 #4
0
ファイル: WebResourceFactory.cs プロジェクト: Cricle/Anf
 public WebResourceFactory(ResourceFactoryCreateContext <Stream> context)
 {
     this.context = context ?? throw new ArgumentNullException(nameof(context));
 }
コード例 #5
0
 public Task <IResourceFactory <Stream> > CreateAsync(ResourceFactoryCreateContext <Stream> context)
 {
     return(Task.FromResult <IResourceFactory <Stream> >(new WebResourceFactory(context)));
 }