public async Task Initilize(int parallelTasks) { _collection = new ModuleCollection(); ModelsRegistration.RegisterModules(_collection); PostModelsRegistration.RegisterModules(_collection); _collection.RegisterModule <EsentInstanceProvider, IEsentInstanceProvider>(new EsentInstanceProvider(true)); _collection.RegisterModule <PostModelStore, IBoardPostStore>(new PostModelStore("makaba", parallelTasks)); _collection.RegisterModule <MakabaBoardReferenceDtoParsers, INetworkDtoParsers>(); _collection.RegisterModule <MakabaBoardReferenceDtoParsers, INetworkDtoParsers>(); _collection.RegisterModule <YoutubeIdService, IYoutubeIdService>(); _collection.RegisterModule <MakabaLinkParser, IEngineLinkParser>(); _collection.RegisterModule <AgilityHtmlDocumentFactory, IHtmlDocumentFactory>(); _collection.RegisterModule <MakabaHtmlParser, IHtmlParser>(); _collection.RegisterModule <MakabaPostDtoParsers, INetworkDtoParsers>(); MakabaModelsRegistration.RegisterModules(_collection); TableVersionStatusForTests.ClearInstance(); await _collection.Seal(); _provider = _collection.GetModuleProvider(); var module = _provider.QueryModule(typeof(IBoardPostStore), "makaba") ?? throw new ModuleNotFoundException(); _store = module.QueryView <IBoardPostStore>() ?? throw new ModuleNotFoundException(); }
public async Task Cleanup() { await _collection.Dispose(); _collection = null; _provider = null; _store = null; }