public void TestSaveLoad()
        {
            Song s1 = new TestSong("title", "artist", "album", "genre");
            Song s2 = new TestSong("title2", "artist2", "album", "genre");
            Song s3 = new TestSong("title3", "artist3", "album", "genre");

            s1.Lyrics = "the lyrics";
            s2.Lyrics = "something else2";
            s3.Lyrics = "another something else3";

            LyricsCache cache = new LyricsCache();

            cache.PutLyrics(s1);
            cache.PutLyrics(s2);
            cache.PutLyrics(s3);
            cache.SaveLyricsCache(@"c:\temp\tempCache.bin");

            LyricsCache cache2 = new LyricsCache();
            cache2.LoadLyricsCache(@"c:\temp\tempCache.bin");

            Song t1 = new TestSong("title", "artist", "album", "genre");
            Song t2 = new TestSong("title2", "artist2", "album", "genre");
            Song t3 = new TestSong("title3", "artist3", "album", "genre");
            Song t4 = new TestSong("title4", "artist4", "album", "genre");

            Assert.IsTrue(cache.UpdateLyrics(t1));
            Assert.IsTrue(cache.UpdateLyrics(t2));
            Assert.IsTrue(cache.UpdateLyrics(t3));
            Assert.IsFalse(cache.UpdateLyrics(t4));

            Assert.AreEqual(s1.Lyrics, t1.Lyrics);
            Assert.AreEqual(s2.Lyrics, t2.Lyrics);
            Assert.AreEqual(s3.Lyrics, t3.Lyrics);
        }
        public void TestCaching()
        {
            LyricsCache cache = new LyricsCache();
            Song s1 = new TestSong("title", "artist", "album", "genre");
            s1.Lyrics = "the new lyrics";

            Song s2 = new TestSong("title2", "artist2", "album", "genre");
            s2.Lyrics = "something else2";

            Assert.IsNull(cache.GetLyrics(s1));
            Assert.IsNull(cache.GetLyrics(s2));

            cache.PutLyrics(s1);
            cache.PutLyrics(s2);

            Assert.AreEqual(s1.Lyrics, cache.GetLyrics(s1));
            Assert.AreEqual(s2.Lyrics, cache.GetLyrics(s2));
        }
Example #3
0
 /// <summary>
 /// Discard and delete the lyrics cache
 /// </summary>
 /// <param name="song"></param>
 public void DiscardCache()
 {
     this.Cache.Discard();
     this.cache = null;
 }
Example #4
0
 /// <summary>
 /// Close this library
 /// </summary>
 public virtual void Close()
 {
     if (this.IsLoading)
         this.CancelLoad();
     this.DeinitializeEvents();
     if (this.cache != null) {
         this.cache.SaveLyricsCache();
         this.cache = null;
     }
 }
        public void TestUpdating()
        {
            LyricsCache cache = new LyricsCache();
            Song s1 = new TestSong("title", "artist", "album", "genre");

            Assert.IsFalse(cache.UpdateLyrics(s1));
            s1.Lyrics = "the new lyrics";
            cache.PutLyrics(s1);

            Song sameTitleAndArtist = new TestSong("title", "artist", "album", "genre");
            sameTitleAndArtist.Lyrics = "something else";

            Assert.IsTrue(cache.UpdateLyrics(sameTitleAndArtist));
            Assert.AreEqual(s1.Lyrics, sameTitleAndArtist.Lyrics);
        }
 public void TestEmpty()
 {
     LyricsCache cache = new LyricsCache();
     Song s1 = new TestSong("title", "artist", "album", "genre");
     Assert.IsNull(cache.GetLyrics(s1));
 }