public void TestCancelFromNonOwner() { TestTrackOwner owner = null; PreviewTrack track = null; AddStep("get track", () => Add(owner = new TestTrackOwner(track = getTrack()))); AddStep("start", () => track.Start()); AddStep("attempt stop", () => trackManager.StopAnyPlaying(this)); AddAssert("not stopped", () => track.IsRunning); AddStep("stop by true owner", () => trackManager.StopAnyPlaying(owner)); AddAssert("stopped", () => !track.IsRunning); }
public void TestCurrentTrackChanges() { PreviewTrack track = null; TestTrackOwner owner = null; AddStep("get track", () => Add(owner = new TestTrackOwner(track = getTrack()))); AddUntilStep("wait loaded", () => track.IsLoaded); AddStep("start track", () => track.Start()); AddAssert("current is track", () => trackManager.CurrentTrack == track); AddStep("pause manager updates", () => trackManager.AllowUpdate = false); AddStep("stop any playing", () => trackManager.StopAnyPlaying(owner)); AddAssert("current not changed", () => trackManager.CurrentTrack == track); AddStep("resume manager updates", () => trackManager.AllowUpdate = true); AddAssert("current is null", () => trackManager.CurrentTrack == null); }
public void TestEnsureMutingCorrectly(bool stopAnyPlaying) { PreviewTrack track = null; TestTrackOwner owner = null; AddStep("ensure volume not zero", () => { if (audio.Volume.Value == 0) { audio.Volume.Value = 1; } if (audio.VolumeTrack.Value == 0) { audio.VolumeTrack.Value = 1; } }); AddAssert("game not muted", () => audio.Tracks.AggregateVolume.Value != 0); AddStep("get track", () => Add(owner = new TestTrackOwner(track = getTrack()))); AddUntilStep("wait loaded", () => track.IsLoaded); AddStep("start track", () => track.Start()); AddAssert("game is muted", () => audio.Tracks.AggregateVolume.Value == 0); if (stopAnyPlaying) { AddStep("stop any playing", () => trackManager.StopAnyPlaying(owner)); } else { AddStep("stop track", () => track.Stop()); } AddAssert("game not muted", () => audio.Tracks.AggregateVolume.Value != 0); }