public void Pause_ShouldPauseTransitionAndStartAgainWithContinueToPlay() { var play = CreateAudioMaterial(); var stop = CreateAudioMaterial("short"); play.Stop(); stop.Volume = 100; var transition = new LinearTransition(play, stop); transition.StartTransition(1); Assert.AreEqual(50, play.Volume); Assert.AreEqual(50, stop.Volume); Thread.Sleep(1000); transition.Pause(); Assert.IsTrue(play.Position.TotalSeconds > 0.5 && play.Position.TotalSeconds < 1.5); Thread.Sleep(1000); Assert.IsTrue(play.Position.TotalSeconds > 0.5 && play.Position.TotalSeconds < 1.5); transition.ContinueToPlay(); Thread.Sleep(1000); Assert.IsTrue(play.Position.TotalSeconds > 1.5 && play.Position.TotalSeconds < 2.5); transition.DoStep(); Assert.IsTrue(transition.Finished); Assert.AreEqual(100, play.Volume); Assert.AreEqual(0, stop.Volume); play.Dispose(); }
public void StartTransition_ShouldDisposeTrackToStopWhenFinished() { var play = CreateAudioMaterial(); var stop = CreateAudioMaterial("short"); stop.Volume = 100; var transition = new LinearTransition(play, stop); transition.StartTransition(1); transition.DoStep(); play.Dispose(); stop.Dispose(); }
public void StartTransiton_ShouldDoTransitionWithOnlyTrackToStop() { var stop = CreateAudioMaterial("short"); stop.Volume = 100; var transition = new LinearTransition(null, stop); transition.StartTransition(1); Assert.AreEqual(50, stop.Volume); transition.DoStep(); Assert.IsTrue(transition.Finished); Assert.AreEqual(0, stop.Volume); }
public void StartTransition_ShouldDoTransitionWithBothTracks() { var play = CreateAudioMaterial(); var stop = CreateAudioMaterial("short"); stop.Volume = 100; var transition = new LinearTransition(play, stop); transition.StartTransition(1); Assert.AreEqual(50, play.Volume); Assert.AreEqual(50, stop.Volume); transition.DoStep(); Assert.IsTrue(transition.Finished); Assert.AreEqual(100, play.Volume); Assert.AreEqual(0, stop.Volume); play.Dispose(); }