コード例 #1
0
        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);
        }
コード例 #2
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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        //[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");
        }