public void StatusIsStopoedWhenFinished() { var songPlayer = new SongPlayer(SmallSample, GtTimeSignature.Time4x4); try { songPlayer.Play(); Assert.AreEqual(SongPlayerStatus.Playing, songPlayer.Status); //wait until the status change to Stopped int i = 0; while (songPlayer.Status != SongPlayerStatus.Stopped) { Thread.Sleep(200); i++; if (i > 50) //after 10seg the test fail { Assert.Fail("The song didn't stoped at the end."); } } Assert.AreEqual(SongPlayerStatus.Stopped, songPlayer.Status); } finally { songPlayer.Dispose(); } }
public void PlayReallyWorks() { var songPlayer = new SongPlayer(MP3MattRedman, GtTimeSignature.Time4x4); try { songPlayer.Play(); Assert.AreEqual(SongPlayerStatus.Playing, songPlayer.Status); var position = songPlayer.CurrentPosition; int i = 0; while (i++ < 5) { Thread.Sleep(100); //Trace.TraceWarning(string.Format("PlayReallyWorks: CurrentPositionAsSeconds = {0}.", songPlayer.CurrentPositionAsSeconds)); Assert.Greater(songPlayer.CurrentPosition, position); position = songPlayer.CurrentPosition; } } finally { songPlayer.Dispose(); } }
//[Test] //public void LogOfTicksAndBeats() //{ // var songPlayer = new SongPlayer(Matt_4Beats, GtTimeSignature.Time4x4); // try // { // this.fTickNotificationList.Clear(); // //This event will populate this.fTickNotificationList with all tick notification. // songPlayer.TickNotifyEvent += new TickNotifyEvent(HandleTickNotifyEventForTest); // songPlayer.Play(); // //wait for the song's end // while (songPlayer.Status != SongPlayerStatus.Stopped) // { // Thread.Sleep(1); // } // //Prepare the expected list of tick notifications // var beatsTicksExpected = PrepareExpectedTicksList(); // //trace... // //for (int i = 0; i < beatsTicksExpected.Count; i++) // //{ // // string description = string.Format("Excpected {0}:{1} and found {2}:{3}", // // beatsTicksExpected[i].Beat, beatsTicksExpected[i].Tick, // // fTickNotificationList[i].Beat, fTickNotificationList[i].Tick); // // Trace.TraceInformation(description); // //} // Assert.AreEqual(beatsTicksExpected.Count, fTickNotificationList.Count); // for (int i = 0; i < beatsTicksExpected.Count; i++) // { // string description = string.Format("Excpected {0}:{1} but was found {2}:{3}", // beatsTicksExpected[i].Beat, beatsTicksExpected[i].Tick, // fTickNotificationList[i].Beat, fTickNotificationList[i].Tick); // Assert.AreEqual(beatsTicksExpected[i].Beat, fTickNotificationList[i].Beat, description); // Assert.AreEqual(beatsTicksExpected[i].Tick, fTickNotificationList[i].Tick, description); // } // } // finally // { // songPlayer.Dispose(); // } //} //private List<BeatTick> PrepareExpectedTicksList() //{ // var beatsTicksExpected = new List<BeatTick>(); // for (int beat = 1; beat <= 4; beat++) // { // for (int tick = 0; tick <= 470; tick += 40) // { // beatsTicksExpected.Add(new BeatTick() // { // Beat = beat, // Tick = tick // }); // } // } // //Remove the 1:0 (the event isn't fired for the position 0. So the first one is the 1:10) // //beatsTicksExpected.RemoveAt(0); // //Add the 5:0 (the last tick notification) // beatsTicksExpected.Add(new BeatTick() // { // Beat = 5, // Tick = 0 // }); // return beatsTicksExpected; //} //This test is too slow (full music). //[Test] public void NumberOfBeatsPlayed_CompleteSong() { var songPlayer = new SongPlayer(MP3MattRedman, GtTimeSignature.Time4x4); try { this.fNumberOfBeats = 0; //This event will increase the numberOfBeats for each new beat, and play the click sample songPlayer.TickNotifyEvent += new TickNotifyEvent(HandleTickNotifyEventForTest); songPlayer.Play(); //wait for the song's end while (songPlayer.Status != SongPlayerStatus.Stopped) { Thread.Sleep(1); } Assert.AreEqual(721, this.fNumberOfBeats); } finally { songPlayer.Dispose(); } }
public void PlayAndPauseAndPlay() { var songPlayer = new SongPlayer(MP3MattRedman, GtTimeSignature.Time4x4); try { songPlayer.Play(); Thread.Sleep(100); songPlayer.Pause(); var currentPosition = songPlayer.CurrentPosition; Thread.Sleep(100); Assert.AreEqual(SongPlayerStatus.Paused, songPlayer.Status); //Is really paused Assert.AreEqual(currentPosition, songPlayer.CurrentPosition); //start again from the paused point songPlayer.Play(); Thread.Sleep(100); Assert.AreEqual(SongPlayerStatus.Playing, songPlayer.Status); Assert.Greater(songPlayer.CurrentPosition, currentPosition); } finally { songPlayer.Dispose(); } }
public void Play() { var songPlayer = new SongPlayer(MP3MattRedman, GtTimeSignature.Time4x4); try { songPlayer.Play(); Assert.AreEqual(SongPlayerStatus.Playing, songPlayer.Status); } finally { songPlayer.Stop(); songPlayer.Dispose(); } }
public void MusicDuration() { var songPlayer = new SongPlayer(MP3MattRedman, GtTimeSignature.Time4x4); try { songPlayer.LoadStream(); var duration = songPlayer.DurationAsSeconds; //Test the song duration with 1 second of tolerance (duration is not integer) Assert.LessOrEqual(0, Math.Abs(duration - 309)); //309 seg = 5min 9seg (this song according MediaPlayer) Assert.Greater(1, Math.Abs(duration - 309)); } finally { songPlayer.Dispose(); } }
public void PlayAndStop() { var songPlayer = new SongPlayer(MP3MattRedman, GtTimeSignature.Time4x4); try { songPlayer.Play(); Assert.AreEqual(SongPlayerStatus.Playing, songPlayer.Status); Thread.Sleep(100); songPlayer.Stop(); Assert.AreEqual(SongPlayerStatus.Stopped, songPlayer.Status); Assert.AreEqual(0, songPlayer.CurrentPosition); } finally { songPlayer.Dispose(); } }
public void PlayAndStopAndPlay() { var songPlayer = new SongPlayer(MP3MattRedman, GtTimeSignature.Time4x4); try { songPlayer.Play(); Thread.Sleep(100); var currentPosition = songPlayer.CurrentPosition; songPlayer.Stop(); //start again from the beggining songPlayer.Play(); Assert.AreEqual(SongPlayerStatus.Playing, songPlayer.Status); Assert.Less(songPlayer.CurrentPosition, currentPosition); } finally { songPlayer.Dispose(); } }