public virtual void TestFixtureSetUp()
        {
            _logFormat  = LogFormatHelper <TLogFormat, TStreamId> .LogFormat;
            _publisher  = new InMemoryBus("publisher");
            _tfReader   = new FakeInMemoryTfReader(RecordOffset);
            _tableIndex = new FakeInMemoryTableIndex <TStreamId>();
            _readerPool = new ObjectPool <ITransactionFileReader>(
                "ReadIndex readers pool", 5, 100,
                () => _tfReader);
            _indexBackend = new IndexBackend <TStreamId>(_readerPool, 100000, 100000);
            var logFormat = LogFormatHelper <TLogFormat, TStreamId> .LogFormat;

            _streamIds     = logFormat.StreamIds;
            _streamNames   = logFormat.StreamNames;
            _systemStreams = logFormat.SystemStreams;
            _factory       = logFormat.StreamNamesProvider;
            _validator     = logFormat.StreamIdValidator;
            var emptyStreamId = logFormat.EmptyStreamId;

            _sizer          = logFormat.StreamIdSizer;
            _indexReader    = new IndexReader <TStreamId>(_indexBackend, _tableIndex, _factory, _validator, new StreamMetadata(maxCount: 100000), 100, false);
            _indexWriter    = new IndexWriter <TStreamId>(_indexBackend, _indexReader, _streamIds, _streamNames, _systemStreams, emptyStreamId, _sizer);
            _indexCommitter = new Core.Services.Storage.ReaderIndex.IndexCommitter <TStreamId>(_publisher, _indexBackend, _indexReader, _tableIndex, _streamNames, _systemStreams, new InMemoryCheckpoint(-1), false);

            WriteEvents();
        }
        public override async Task TestFixtureSetUp()
        {
            await base.TestFixtureSetUp();

            _logFormat = LogFormatHelper <TLogFormat, TStreamId> .LogFormatFactory.Create(new() {
                IndexDirectory = GetFilePathFor("index"),
            });

            _provider   = _logFormat.StreamNamesProvider;
            _publisher  = new InMemoryBus("publisher");
            _tfReader   = new FakeInMemoryTfReader(RecordOffset);
            _tableIndex = new FakeInMemoryTableIndex <TStreamId>();
            _provider.SetTableIndex(_tableIndex);
            _readerPool = new ObjectPool <ITransactionFileReader>(
                "ReadIndex readers pool", 5, 100,
                () => _tfReader);
            _indexBackend = new IndexBackend <TStreamId>(_readerPool, 100000, 100000);
            _streamIds    = _logFormat.StreamIds;
            _validator    = _logFormat.StreamIdValidator;
            var emptyStreamId = _logFormat.EmptyStreamId;

            _sizer       = _logFormat.StreamIdSizer;
            _indexReader = new IndexReader <TStreamId>(_indexBackend, _tableIndex, _provider, _validator,
                                                       _logFormat.StreamExistenceFilterReader, new StreamMetadata(maxCount: 100000), 100, false);
            _streamNames   = _logFormat.StreamNames;
            _systemStreams = _logFormat.SystemStreams;
            _indexWriter   = new IndexWriter <TStreamId>(_indexBackend, _indexReader, _streamIds, _streamNames,
                                                         _systemStreams, emptyStreamId, _sizer);
            _indexCommitter = new IndexCommitter <TStreamId>(_publisher, _indexBackend, _indexReader, _tableIndex,
                                                             _logFormat.StreamNameIndexConfirmer, _streamNames, _logFormat.EventTypeIndexConfirmer, _logFormat.EventTypes,
                                                             _systemStreams, _logFormat.StreamExistenceFilter, _logFormat.StreamExistenceFilterInitializer, new InMemoryCheckpoint(-1), false);

            WriteEvents();
        }
 public SingletonStreamNamesProvider(
     ISystemStreamLookup <TStreamId> systemStreams,
     IStreamNameLookup <TStreamId> streamNames)
 {
     SystemStreams = systemStreams;
     StreamNames   = streamNames;
 }