public void HashCacheDoesntExist() { var nonExistantCacheFile = Path.Combine(TestCacheDir, "DoesntExist.dat"); Assert.IsFalse(File.Exists(nonExistantCacheFile)); var hasher = new SongHasher(TestSongsDir, nonExistantCacheFile); hasher.LoadCachedSongHashes(); Assert.AreEqual(hasher.HashDictionary.Count, 0); }
public void Normal() { var cachePath = Path.Combine(TestCacheDir, "SongHashData.dat"); Assert.IsTrue(File.Exists(cachePath)); var hasher = new SongHasher(TestSongsDir, cachePath); hasher.LoadCachedSongHashes(); Assert.AreEqual(hasher.HashDictionary.Count, 8); }
public void AfterPartialCacheCoverage() { var cacheFile = Path.Combine(TestCacheDir, "TestSongsHashData_Partial.dat"); var hasher = new SongHasher(TestSongsDir, cacheFile); hasher.LoadCachedSongHashes(); var newHashes = hasher.AddMissingHashes(); Assert.AreEqual(newHashes, 2); }
public void DuplicateSong_DifferentFolders() { var cachePath = Path.Combine(TestCacheDir, "SongHashData_DuplicateSong.dat"); Assert.IsTrue(File.Exists(cachePath)); var hasher = new SongHasher(TestSongsDir, cachePath); hasher.LoadCachedSongHashes(); Assert.AreEqual(hasher.HashDictionary.Count, 9); int uniqueHashes = hasher.HashDictionary.Values.Select(h => h.songHash).Distinct().Count(); Assert.AreEqual(uniqueHashes, 8); }
public void AddMissingCalledFirst() { // Completely ignores the duplicate entry. var cachePath = Path.Combine(TestCacheDir, "TestSongsHashData.dat"); Assert.IsTrue(File.Exists(cachePath)); var hasher = new SongHasher(TestSongsDir, cachePath); hasher.LoadCachedSongHashes(); Assert.AreEqual(hasher.HashDictionary.Count, 6); int uniqueHashes = hasher.HashDictionary.Values.Select(h => h.songHash).Distinct().Count(); Assert.AreEqual(uniqueHashes, 5); }
//[TestMethod] public void BigTest() { var hasher = new SongHasher(); hasher.LoadCachedSongHashes(); var songPath = new DirectoryInfo(hasher.HashDictionary.Keys.First()); songPath = songPath.Parent; hasher = new SongHasher(songPath.FullName); hasher.LoadCachedSongHashes(); var newHashes = hasher.AddMissingHashes(); Console.WriteLine($"Hashed {newHashes} new songs"); }