public static ComicVisiting <Stream> CreateResrouceVisitor() { var creator = new StreamResourceFactoryCreator(); var eng = new ComicEngine(); eng.Add(new ResourceComicCondition()); var prov = new ResourceComicProvider(); var provider = new ValueServiceProvider { ServiceMap = new Dictionary <Type, Func <object> > { [typeof(ComicEngine)] = () => eng, [typeof(ResourceComicProvider)] = () => prov, } }; provider.ServiceMap.Add(typeof(IServiceScopeFactory), () => new ValueServiceScopeFactory { ScopeFactory = () => new ValueServiceScope { ServiceProvider = provider } }); var visit = new ComicVisiting <Stream>(provider, creator); return(visit); }
private ComicVisiting <Stream> CreateNullVisitor() { var creator = new StreamResourceFactoryCreator(); var provider = new NullServiceProvider(); var visit = new ComicVisiting <Stream>(provider, creator); return(visit); }
public void GivenValueInit_PropertyMustEqualGiven() { var creator = new StreamResourceFactoryCreator(); var provider = new NullServiceProvider(); var visit = new ComicVisiting <Stream>(provider, creator); Assert.AreEqual(creator, visit.ResourceFactoryCreator); Assert.AreEqual(provider, visit.Host); visit.Dispose(); }
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 async Task GivenNothingProvider_Load_MustLoadFail() { var creator = new StreamResourceFactoryCreator(); var eng = new ComicEngine(); var provider = new ValueServiceProvider { ServiceMap = new Dictionary <Type, Func <object> > { [typeof(ComicEngine)] = () => eng, } }; provider.ServiceMap.Add(typeof(IServiceScopeFactory), () => new ValueServiceScopeFactory { ScopeFactory = () => new ValueServiceScope { ServiceProvider = provider } }); var visit = new ComicVisiting <Stream>(provider, creator); var res = await visit.LoadAsync(ComicVisitingHelper.AnyUri.AbsoluteUri); Assert.IsFalse(res); visit.Dispose(); }