Ejemplo n.º 1
0
        public void TestAutoUpdateLyrics()
        {
            LyricsFetchManager lfm = new LyricsFetchManager();
            lfm.AutoUpdateLyrics = true;
            lfm.RegisterSource(new LyricsSourceLyrdb());
            lfm.RegisterSource(new LyricsSourceLyricsFly());

            List<Song> songs = this.GetSongs();

            foreach (Song s in songs)
                Assert.IsNull(s.Lyrics);

            Song song1 = new TestSong("Test Title 1", "Some Artist Name", "Beauty and the Beat", "Pop");
            song1.Lyrics = "Original Lyrics";
            songs.Add(song1);

            lfm.Queue(songs);

            lfm.Start();
            lfm.WaitUntilFinished();

            foreach (Song s in songs)
                Assert.AreNotEqual("", s.Lyrics);

            // This song cannot be found and its lyrics should not be changed
            Assert.AreEqual("Original Lyrics", song1.Lyrics);
        }
Ejemplo n.º 2
0
        public void TestDoneStatusEvents()
        {
            LyricsFetchManager lfm = new LyricsFetchManager();
            lfm.RegisterSource(new AlwaysFailLyricsSource());
            lfm.RegisterSource(new AlwaysSuccessLyricsSource());
            lfm.StatusEvent += new EventHandler<LyricsFetchStatusEventArgs>(this.HandleDoneStatusEvent);
            doneEventCount = 0;

            lfm.Start();
            lfm.Queue(s1);
            lfm.Queue(s2);
            lfm.WaitUntilFinished();

            Assert.AreEqual(2, doneEventCount);
        }
Ejemplo n.º 3
0
        public void TestRealLyricsFetch()
        {
            LyricsFetchManager lfm = new LyricsFetchManager();
            lfm.StatusEvent += new EventHandler<LyricsFetchStatusEventArgs>(this.HandleDoneStatusEvent2);
            lfm.RegisterSource(new LyricsSourceLyrdb());
            lfm.RegisterSource(new LyricsSourceLyricsFly());

            List<Song> songs = this.GetSongs();

            foreach (Song s in songs)
                Assert.IsNull(s.Lyrics);

            lfm.Queue(songs);

            lfm.Start();
            lfm.WaitUntilFinished();

            foreach (Song s in songs)
                Assert.AreNotEqual("", s.Lyrics);
        }
Ejemplo n.º 4
0
        public void TestGetStatus2()
        {
            LyricsFetchManager lfm = new LyricsFetchManager();
            lfm.RegisterSource(new AlwaysFailLyricsSource());
            lfm.RegisterSource(new AlwaysSuccessLyricsSource());

            Assert.AreEqual(LyricsFetchStatus.NotFound, lfm.GetStatus(s1));
            Assert.AreEqual(LyricsFetchStatus.NotFound, lfm.GetStatus(s2));
            Assert.AreEqual(LyricsFetchStatus.NotFound, lfm.GetStatus(s3));

            lfm.Queue(s1);
            lfm.Queue(s2);
            lfm.Queue(s3);
            Assert.AreEqual(LyricsFetchStatus.Waiting, lfm.GetStatus(s1));
            Assert.AreEqual(LyricsFetchStatus.Waiting, lfm.GetStatus(s2));
            Assert.AreEqual(LyricsFetchStatus.Waiting, lfm.GetStatus(s3));

            lfm.Start();
            lfm.WaitUntilFinished();

            Assert.AreEqual(LyricsFetchStatus.NotFound, lfm.GetStatus(s1));
            Assert.AreEqual(LyricsFetchStatus.NotFound, lfm.GetStatus(s2));
            Assert.AreEqual(LyricsFetchStatus.NotFound, lfm.GetStatus(s3));
        }