public static void TransferSongs_Test(ISongDownloadTarget downloadTarget)
 {
     //var sourceSong = @"TestSourceSongs";
     var sourceDir = new DirectoryInfo(@"TestSourceSongs");
     var sourceHashes = new List<string>();
     foreach (var songDir in sourceDir.GetDirectories())
     {
         if(songDir.EnumerateFiles("info.dat").Any())
             sourceHashes.Add(SongHashDataProvider.GenerateHash(songDir.FullName));
     }
     
     var cancelSource = new CancellationTokenSource();
     var progressTest = new Action<string, int>((dir, progress) =>
     {
         Console.WriteLine($"{progress}% for {dir}");
         //if (progress == 100)
             //cancelSource.Cancel();
     });
     var sourceSong = new SongDownload() { Hash = "asdf", LocalDirectory = new DirectoryInfo(@"TestSourceSongs\5381-4803 Moon Pluck") };
     var songs = new List<SongDownload>() { sourceSong };
     var transferTask = downloadTarget.TransferSongs(songs, true, progressTest, cancelSource.Token);
     var test = transferTask.Result;
     var hashes = downloadTarget.GetExistingSongHashesAsync().Result;
     foreach (var sourceHash in sourceHashes)
     {
         Assert.IsTrue(hashes.Contains(sourceHash));
     }
     //cancelSource.Cancel();
 }
Exemplo n.º 2
0
 public void GenerateDirectoryHash()
 {
     DirectoryHash = SongHashDataProvider.GenerateDirectoryHash(Directory);
 }
Exemplo n.º 3
0
 public string GenerateHash()
 {
     SongHash = SongHashDataProvider.GenerateHash(Directory, SongHash);
     return(SongHash);
 }