mirror of
https://github.com/ppy/osu.git
synced 2024-11-06 13:47:38 +08:00
Add test coverage of star rating and difficulty updating on editor save
This commit is contained in:
parent
7692bac35a
commit
2c5e5fed6f
@ -9,6 +9,7 @@ using osu.Framework.Allocation;
|
|||||||
using osu.Framework.Screens;
|
using osu.Framework.Screens;
|
||||||
using osu.Framework.Testing;
|
using osu.Framework.Testing;
|
||||||
using osu.Framework.Utils;
|
using osu.Framework.Utils;
|
||||||
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Beatmaps.ControlPoints;
|
using osu.Game.Beatmaps.ControlPoints;
|
||||||
using osu.Game.Screens.Edit;
|
using osu.Game.Screens.Edit;
|
||||||
using osu.Game.Screens.Edit.Compose.Components.Timeline;
|
using osu.Game.Screens.Edit.Compose.Components.Timeline;
|
||||||
@ -130,6 +131,54 @@ namespace osu.Game.Tests.Visual.Editing
|
|||||||
!ReferenceEquals(EditorBeatmap.HitObjects[0].DifficultyControlPoint, DifficultyControlPoint.DEFAULT));
|
!ReferenceEquals(EditorBeatmap.HitObjects[0].DifficultyControlPoint, DifficultyControlPoint.DEFAULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void TestLengthAndStarRatingUpdated()
|
||||||
|
{
|
||||||
|
WorkingBeatmap working = null;
|
||||||
|
double lastStarRating = 0;
|
||||||
|
double lastLength = 0;
|
||||||
|
|
||||||
|
AddStep("Add timing point", () => EditorBeatmap.ControlPointInfo.Add(500, new TimingControlPoint()));
|
||||||
|
AddStep("Change to placement mode", () => InputManager.Key(Key.Number2));
|
||||||
|
AddStep("Move to playfield", () => InputManager.MoveMouseTo(Game.ScreenSpaceDrawQuad.Centre));
|
||||||
|
AddStep("Place single hitcircle", () => InputManager.Click(MouseButton.Left));
|
||||||
|
AddAssert("One hitobject placed", () => EditorBeatmap.HitObjects.Count == 1);
|
||||||
|
|
||||||
|
SaveEditor();
|
||||||
|
AddStep("Get working beatmap", () => working = Game.BeatmapManager.GetWorkingBeatmap(EditorBeatmap.BeatmapInfo, true));
|
||||||
|
|
||||||
|
AddAssert("Beatmap length is zero", () => working.BeatmapInfo.Length == 0);
|
||||||
|
checkDifficultyIncreased();
|
||||||
|
|
||||||
|
AddStep("Move forward", () => InputManager.Key(Key.Right));
|
||||||
|
AddStep("Place another hitcircle", () => InputManager.Click(MouseButton.Left));
|
||||||
|
AddAssert("Two hitobjects placed", () => EditorBeatmap.HitObjects.Count == 2);
|
||||||
|
|
||||||
|
SaveEditor();
|
||||||
|
AddStep("Get working beatmap", () => working = Game.BeatmapManager.GetWorkingBeatmap(EditorBeatmap.BeatmapInfo, true));
|
||||||
|
|
||||||
|
checkDifficultyIncreased();
|
||||||
|
checkLengthIncreased();
|
||||||
|
|
||||||
|
void checkLengthIncreased()
|
||||||
|
{
|
||||||
|
AddStep("Beatmap length increased", () =>
|
||||||
|
{
|
||||||
|
Assert.That(working.BeatmapInfo.Length, Is.GreaterThan(lastLength));
|
||||||
|
lastLength = working.BeatmapInfo.Length;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void checkDifficultyIncreased()
|
||||||
|
{
|
||||||
|
AddStep("Beatmap difficulty increased", () =>
|
||||||
|
{
|
||||||
|
Assert.That(working.BeatmapInfo.StarRating, Is.GreaterThan(lastStarRating));
|
||||||
|
lastStarRating = working.BeatmapInfo.StarRating;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExitWithoutSaveFromExistingBeatmap()
|
public void TestExitWithoutSaveFromExistingBeatmap()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user