public LibraryItemDetailsPagePresenterImpl(IMainThreadExecutor mainThreadExecutor, ILog log, FindLibraryItemUseCase findLibraryItemUseCase, AddToFavoriteUseCase addToFavoriteUseCase)
 {
     MainThreadExecutor = mainThreadExecutor;
     Log = log;
     FindLibraryItemUseCase = findLibraryItemUseCase;
     AddToFavoriteUseCase   = addToFavoriteUseCase;
 }
 protected void SetUp()
 {
     Log     = new LogImpl();
     FavRepo = new TestFavoritesRepository();
     UseCase = new AddToFavoriteUseCase(Log, FavRepo);
     TestFavoritesRepository.Registry.Clear();
 }
 public LibraryPagePresenterImpl(IMainThreadExecutor mainThreadExecutor, ILog log, IConfiguration configuration, SearchLibraryRequestUseCase searchLibraryRequestUseCase, AddToFavoriteUseCase addToFavoriteUseCase)
 {
     MainThreadExecutor = mainThreadExecutor;
     Log           = log;
     Configuration = configuration;
     SearchLibraryRequestUseCase           = searchLibraryRequestUseCase;
     AddToFavoriteUseCase                  = addToFavoriteUseCase;
     SearchQueryDelaySubmitTimer           = new Timer(Configuration.SearchQuerySubmitDelay);
     SearchQueryDelaySubmitTimer.AutoReset = false;
     SearchQueryDelaySubmitTimer.Elapsed  += (s, e) => MainThreadExecutor.Execute(() => OnViewRefreshRequested());
 }