public void SongDoesExist()
        {
            var historyManager = new HistoryManager(DefaultHistoryPath);
            var songHasher     = new SongHasher(DefaultSongsPath, DefaultHashCachePath);

            historyManager.Initialize();
            var downloader = new SongDownloader(defaultConfig, historyManager, songHasher, DefaultSongsPath);
            var exists     = new PlaylistSong("d375405d047d6a2a4dd0f4d40d8da77554f1f677", "Does Exist", "5e20", "ejiejidayo");

            historyManager.TryAdd(exists, 0); // Song is added before it gets to DownloadJob
            var result = downloader.DownloadJob(exists).Result;

            Assert.AreEqual(exists.Hash, result.HashAfterDownload);
            Assert.IsTrue(historyManager.ContainsKey(exists.Hash)); // Successful download is kept in history
        }
        public void SongDoesntExist()
        {
            //Assert.AreEqual(1, SongFeedReaders.WebUtils.WebClient.Timeout);
            //var response = SongFeedReaders.WebUtils.WebClient.GetAsync(@"http://releases.ubuntu.com/18.04.3/ubuntu-18.04.3-live-server-amd64.iso").Result;
            //var dResult = response.Content.ReadAsFileAsync("ubuntu.iso", true).Result;
            var historyManager = new HistoryManager(DefaultHistoryPath);
            var songHasher     = new SongHasher(DefaultSongsPath, DefaultHashCachePath);

            historyManager.Initialize();
            var downloader  = new SongDownloader(defaultConfig, historyManager, songHasher, DefaultSongsPath);
            var doesntExist = new PlaylistSong("196be1af64958d8b5375b328b0eafae2151d46f8", "Doesn't Exist", "ffff", "Who knows");

            historyManager.TryAdd(doesntExist, 0); // Song is added before it gets to DownloadJob
            var result = downloader.DownloadJob(doesntExist).Result;

            Assert.IsTrue(historyManager.ContainsKey(doesntExist.Hash)); // Keep song in history so it doesn't try to download a non-existant song again.
        }