mirror of
https://github.com/ppy/osu.git
synced 2025-01-30 21:32:57 +08:00
Add failing test
This commit is contained in:
parent
01e9c0f15e
commit
3c03406b45
@ -19,6 +19,7 @@ using osu.Game.Rulesets.Osu;
|
|||||||
using osu.Game.Rulesets.UI;
|
using osu.Game.Rulesets.UI;
|
||||||
using osu.Game.Screens.Backgrounds;
|
using osu.Game.Screens.Backgrounds;
|
||||||
using osu.Game.Screens.Edit;
|
using osu.Game.Screens.Edit;
|
||||||
|
using osu.Game.Screens.Edit.Components;
|
||||||
using osu.Game.Screens.Edit.Components.Timelines.Summary;
|
using osu.Game.Screens.Edit.Components.Timelines.Summary;
|
||||||
using osu.Game.Screens.Edit.GameplayTest;
|
using osu.Game.Screens.Edit.GameplayTest;
|
||||||
using osu.Game.Screens.Play;
|
using osu.Game.Screens.Play;
|
||||||
@ -127,6 +128,35 @@ namespace osu.Game.Tests.Visual.Editing
|
|||||||
AddAssert("sample playback re-enabled", () => !Editor.SamplePlaybackDisabled.Value);
|
AddAssert("sample playback re-enabled", () => !Editor.SamplePlaybackDisabled.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void TestGameplayTestResetsPlaybackSpeedAdjustment()
|
||||||
|
{
|
||||||
|
AddStep("start track", () => EditorClock.Start());
|
||||||
|
AddStep("change playback speed", () =>
|
||||||
|
{
|
||||||
|
InputManager.MoveMouseTo(this.ChildrenOfType<PlaybackControl.PlaybackTabControl.PlaybackTabItem>().First());
|
||||||
|
InputManager.Click(MouseButton.Left);
|
||||||
|
});
|
||||||
|
AddAssert("track playback rate is 0.25x", () => Beatmap.Value.Track.AggregateTempo.Value, () => Is.EqualTo(0.25));
|
||||||
|
|
||||||
|
AddStep("click test gameplay button", () =>
|
||||||
|
{
|
||||||
|
var button = Editor.ChildrenOfType<TestGameplayButton>().Single();
|
||||||
|
|
||||||
|
InputManager.MoveMouseTo(button);
|
||||||
|
InputManager.Click(MouseButton.Left);
|
||||||
|
});
|
||||||
|
|
||||||
|
EditorPlayer editorPlayer = null;
|
||||||
|
AddUntilStep("player pushed", () => (editorPlayer = Stack.CurrentScreen as EditorPlayer) != null);
|
||||||
|
AddAssert("editor track stopped", () => !EditorClock.IsRunning);
|
||||||
|
AddAssert("track playback rate is 1x", () => Beatmap.Value.Track.AggregateTempo.Value, () => Is.EqualTo(1));
|
||||||
|
|
||||||
|
AddStep("exit player", () => editorPlayer.Exit());
|
||||||
|
AddUntilStep("current screen is editor", () => Stack.CurrentScreen is Editor);
|
||||||
|
AddAssert("track playback rate is 0.25x", () => Beatmap.Value.Track.AggregateTempo.Value, () => Is.EqualTo(0.25));
|
||||||
|
}
|
||||||
|
|
||||||
[TestCase(2000)] // chosen to be after last object in the map
|
[TestCase(2000)] // chosen to be after last object in the map
|
||||||
[TestCase(22000)] // chosen to be in the middle of the last spinner
|
[TestCase(22000)] // chosen to be in the middle of the last spinner
|
||||||
public void TestGameplayTestAtEndOfBeatmap(int offsetFromEnd)
|
public void TestGameplayTestAtEndOfBeatmap(int offsetFromEnd)
|
||||||
|
@ -148,7 +148,7 @@ namespace osu.Game.Screens.Edit.Components
|
|||||||
public LocalisableString TooltipText { get; set; }
|
public LocalisableString TooltipText { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private partial class PlaybackTabControl : OsuTabControl<double>
|
public partial class PlaybackTabControl : OsuTabControl<double>
|
||||||
{
|
{
|
||||||
private static readonly double[] tempo_values = { 0.25, 0.5, 0.75, 1 };
|
private static readonly double[] tempo_values = { 0.25, 0.5, 0.75, 1 };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user