1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 05:27:23 +08:00

Revert some test scene changes to use Beatmap.Track where relevant

This commit is contained in:
Dean Herbert 2020-08-21 17:21:08 +09:00
parent a47b8222b5
commit d5cbb589c2
6 changed files with 24 additions and 22 deletions

View File

@ -31,7 +31,7 @@ namespace osu.Game.Tests.Visual.Gameplay
base.SetUpSteps(); base.SetUpSteps();
// Ensure track has actually running before attempting to seek // Ensure track has actually running before attempting to seek
AddUntilStep("wait for track to start running", () => MusicController.IsPlaying); AddUntilStep("wait for track to start running", () => Beatmap.Value.Track.IsRunning);
} }
[Test] [Test]
@ -70,13 +70,13 @@ namespace osu.Game.Tests.Visual.Gameplay
private void complete() private void complete()
{ {
AddStep("seek to completion", () => MusicController.SeekTo(5000)); AddStep("seek to completion", () => Beatmap.Value.Track.Seek(5000));
AddUntilStep("completion set by processor", () => Player.ScoreProcessor.HasCompleted.Value); AddUntilStep("completion set by processor", () => Player.ScoreProcessor.HasCompleted.Value);
} }
private void cancel() private void cancel()
{ {
AddStep("rewind to cancel", () => MusicController.SeekTo(4000)); AddStep("rewind to cancel", () => Beatmap.Value.Track.Seek(4000));
AddUntilStep("completion cleared by processor", () => !Player.ScoreProcessor.HasCompleted.Value); AddUntilStep("completion cleared by processor", () => !Player.ScoreProcessor.HasCompleted.Value);
} }

View File

@ -8,7 +8,6 @@ using osu.Framework.Audio;
using osu.Framework.Utils; using osu.Framework.Utils;
using osu.Framework.Timing; using osu.Framework.Timing;
using osu.Game.Beatmaps; using osu.Game.Beatmaps;
using osu.Game.Overlays;
using osu.Game.Rulesets; using osu.Game.Rulesets;
using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects;
using osu.Game.Storyboards; using osu.Game.Storyboards;
@ -21,16 +20,13 @@ namespace osu.Game.Tests.Visual.Gameplay
[Resolved] [Resolved]
private AudioManager audioManager { get; set; } private AudioManager audioManager { get; set; }
[Resolved] protected override WorkingBeatmap CreateWorkingBeatmap(IBeatmap beatmap, Storyboard storyboard = null) =>
private MusicController musicController { get; set; } new ClockBackedTestWorkingBeatmap(beatmap, storyboard, new FramedClock(new ManualClock { Rate = 1 }), audioManager);
protected override WorkingBeatmap CreateWorkingBeatmap(IBeatmap beatmap, Storyboard storyboard = null)
=> new ClockBackedTestWorkingBeatmap(beatmap, storyboard, new FramedClock(new ManualClock { Rate = 1 }), audioManager);
[Test] [Test]
public void TestNoJudgementsOnRewind() public void TestNoJudgementsOnRewind()
{ {
AddUntilStep("wait for track to start running", () => MusicController.IsPlaying); AddUntilStep("wait for track to start running", () => Beatmap.Value.Track.IsRunning);
addSeekStep(3000); addSeekStep(3000);
AddAssert("all judged", () => Player.DrawableRuleset.Playfield.AllHitObjects.All(h => h.Judged)); AddAssert("all judged", () => Player.DrawableRuleset.Playfield.AllHitObjects.All(h => h.Judged));
AddUntilStep("key counter counted keys", () => Player.HUDOverlay.KeyCounter.Children.All(kc => kc.CountPresses >= 7)); AddUntilStep("key counter counted keys", () => Player.HUDOverlay.KeyCounter.Children.All(kc => kc.CountPresses >= 7));
@ -43,7 +39,7 @@ namespace osu.Game.Tests.Visual.Gameplay
private void addSeekStep(double time) private void addSeekStep(double time)
{ {
AddStep($"seek to {time}", () => MusicController.SeekTo(time)); AddStep($"seek to {time}", () => Beatmap.Value.Track.Seek(time));
// Allow a few frames of lenience // Allow a few frames of lenience
AddUntilStep("wait for seek to finish", () => Precision.AlmostEquals(time, Player.DrawableRuleset.FrameStableClock.CurrentTime, 100)); AddUntilStep("wait for seek to finish", () => Precision.AlmostEquals(time, Player.DrawableRuleset.FrameStableClock.CurrentTime, 100));

View File

@ -19,8 +19,8 @@ namespace osu.Game.Tests.Visual.Gameplay
Beatmap.Value = CreateWorkingBeatmap(new OsuRuleset().RulesetInfo); Beatmap.Value = CreateWorkingBeatmap(new OsuRuleset().RulesetInfo);
MusicController.CurrentTrack.Start(); Beatmap.Value.Track.Start();
MusicController.CurrentTrack.Seek(Beatmap.Value.Beatmap.HitObjects.First().StartTime - 1000); Beatmap.Value.Track.Seek(Beatmap.Value.Beatmap.HitObjects.First().StartTime - 1000);
Add(new ModNightcore<HitObject>.NightcoreBeatContainer()); Add(new ModNightcore<HitObject>.NightcoreBeatContainer());

View File

@ -288,7 +288,7 @@ namespace osu.Game.Tests.Visual.Gameplay
private void confirmNoTrackAdjustments() private void confirmNoTrackAdjustments()
{ {
AddAssert("track has no adjustments", () => MusicController.CurrentTrack.AggregateFrequency.Value == 1); AddAssert("track has no adjustments", () => Beatmap.Value.Track.AggregateFrequency.Value == 1);
} }
private void restart() => AddStep("restart", () => Player.Restart()); private void restart() => AddStep("restart", () => Player.Restart());

View File

@ -61,7 +61,7 @@ namespace osu.Game.Tests.Visual.Gameplay
Beatmap.Value = CreateWorkingBeatmap(new OsuRuleset().RulesetInfo); Beatmap.Value = CreateWorkingBeatmap(new OsuRuleset().RulesetInfo);
foreach (var mod in SelectedMods.Value.OfType<IApplicableToTrack>()) foreach (var mod in SelectedMods.Value.OfType<IApplicableToTrack>())
mod.ApplyToTrack(MusicController.CurrentTrack); mod.ApplyToTrack(Beatmap.Value.Track);
InputManager.Child = container; InputManager.Child = container;
} }
@ -75,7 +75,7 @@ namespace osu.Game.Tests.Visual.Gameplay
AddUntilStep("wait for not current", () => !loader.IsCurrentScreen()); AddUntilStep("wait for not current", () => !loader.IsCurrentScreen());
AddAssert("player did not load", () => player == null); AddAssert("player did not load", () => player == null);
AddUntilStep("player disposed", () => loader.DisposalTask == null); AddUntilStep("player disposed", () => loader.DisposalTask == null);
AddAssert("mod rate still applied", () => MusicController.CurrentTrack.Rate != 1); AddAssert("mod rate still applied", () => Beatmap.Value.Track.Rate != 1);
} }
/// <summary> /// <summary>
@ -88,13 +88,13 @@ namespace osu.Game.Tests.Visual.Gameplay
{ {
AddStep("load dummy beatmap", () => ResetPlayer(false, () => SelectedMods.Value = new[] { new OsuModNightcore() })); AddStep("load dummy beatmap", () => ResetPlayer(false, () => SelectedMods.Value = new[] { new OsuModNightcore() }));
AddUntilStep("wait for current", () => loader.IsCurrentScreen()); AddUntilStep("wait for current", () => loader.IsCurrentScreen());
AddAssert("mod rate applied", () => MusicController.CurrentTrack.Rate != 1); AddAssert("mod rate applied", () => Beatmap.Value.Track.Rate != 1);
AddUntilStep("wait for non-null player", () => player != null); AddUntilStep("wait for non-null player", () => player != null);
AddStep("exit loader", () => loader.Exit()); AddStep("exit loader", () => loader.Exit());
AddUntilStep("wait for not current", () => !loader.IsCurrentScreen()); AddUntilStep("wait for not current", () => !loader.IsCurrentScreen());
AddAssert("player did not load", () => !player.IsLoaded); AddAssert("player did not load", () => !player.IsLoaded);
AddUntilStep("player disposed", () => loader.DisposalTask?.IsCompleted == true); AddUntilStep("player disposed", () => loader.DisposalTask?.IsCompleted == true);
AddAssert("mod rate still applied", () => MusicController.CurrentTrack.Rate != 1); AddAssert("mod rate still applied", () => Beatmap.Value.Track.Rate != 1);
} }
[Test] [Test]

View File

@ -25,12 +25,16 @@ namespace osu.Game.Tests.Visual.Gameplay
private readonly Container<DrawableStoryboard> storyboardContainer; private readonly Container<DrawableStoryboard> storyboardContainer;
private DrawableStoryboard storyboard; private DrawableStoryboard storyboard;
[Cached]
private MusicController musicController = new MusicController();
public TestSceneStoryboard() public TestSceneStoryboard()
{ {
Clock = new FramedClock(); Clock = new FramedClock();
AddRange(new Drawable[] AddRange(new Drawable[]
{ {
musicController,
new Container new Container
{ {
RelativeSizeAxes = Axes.Both, RelativeSizeAxes = Axes.Both,
@ -83,9 +87,11 @@ namespace osu.Game.Tests.Visual.Gameplay
private void restart() private void restart()
{ {
MusicController.CurrentTrack.Reset(); var track = Beatmap.Value.Track;
track.Reset();
loadStoryboard(Beatmap.Value); loadStoryboard(Beatmap.Value);
MusicController.CurrentTrack.Start(); track.Start();
} }
private void loadStoryboard(WorkingBeatmap working) private void loadStoryboard(WorkingBeatmap working)
@ -100,7 +106,7 @@ namespace osu.Game.Tests.Visual.Gameplay
storyboard.Passing = false; storyboard.Passing = false;
storyboardContainer.Add(storyboard); storyboardContainer.Add(storyboard);
decoupledClock.ChangeSource(MusicController.CurrentTrack); decoupledClock.ChangeSource(working.Track);
} }
private void loadStoryboardNoVideo() private void loadStoryboardNoVideo()
@ -123,7 +129,7 @@ namespace osu.Game.Tests.Visual.Gameplay
storyboard = sb.CreateDrawable(Beatmap.Value); storyboard = sb.CreateDrawable(Beatmap.Value);
storyboardContainer.Add(storyboard); storyboardContainer.Add(storyboard);
decoupledClock.ChangeSource(MusicController.CurrentTrack); decoupledClock.ChangeSource(Beatmap.Value.Track);
} }
} }
} }