public async Task HandleAsync_uses_persister_to_store_text([Frozen] ITranslationPersister persister, ImprovedTranslateCommandHandler sut,
                                                                   IDispatcher dispatcher, ICommandContext <TranslateEducationCommand> context)
        {
            await sut.HandleAsync(dispatcher, context);

            Mock.Get(persister).Verify(p => p.PersistTranslations(It.IsAny <string>(), It.IsAny <IReadOnlyList <string> >()));
        }
 public ImprovedTranslateCommandHandler(IEducationProfileDownloader downloader, ITextExtractor textExtractor, ITranslator translator, ITranslationPersister persister)
 {
     _downloader    = downloader ?? throw new ArgumentNullException(nameof(downloader));
     _textExtractor = textExtractor ?? throw new ArgumentNullException(nameof(textExtractor));
     _translator    = translator ?? throw new ArgumentNullException(nameof(translator));
     _persister     = persister ?? throw new ArgumentNullException(nameof(persister));
 }