public async Task AfterSubscribe_AddFiles_AddToIndex(int initCount, int count) { var searcher = new Mock <ISearcher <string, string> >(); var tokenizer = new Mock <ITokenizer <string> >(); var indexer = new Mock <IIndexer <string, string> >(); var analyzer = new FileAnalyzer(tokenizer.Object, searcher.Object, indexer.Object); using var tmp = new TempFolder(initCount); foreach (var file in tmp.Files) { indexer.Setup(x => x.Add(file, It.IsAny <IEnumerable <string> >())); } await analyzer.Subscribe(tmp.FolderPath); tmp.CreateFiles(count); await Task.Delay(10 *count); SpinWait.SpinUntil(() => !analyzer.IsIndexing); indexer.Verify(x => x.Add(It.IsAny <string>(), It.IsAny <IEnumerable <string> >()), Times.Exactly(initCount + count)); foreach (var file in tmp.Files) { indexer.Verify(x => x.Add(file, It.IsAny <IEnumerable <string> >()), Times.Once); } }