mirror of
https://github.com/ppy/osu.git
synced 2025-01-07 22:16:10 +08:00
Add failing test case for touch device application during gameplay with incompatible mods active
This commit is contained in:
parent
13b599b9b6
commit
5d5c803cf6
@ -9,6 +9,7 @@ using osu.Game.Beatmaps;
|
|||||||
using osu.Game.Beatmaps.Timing;
|
using osu.Game.Beatmaps.Timing;
|
||||||
using osu.Game.Configuration;
|
using osu.Game.Configuration;
|
||||||
using osu.Game.Input;
|
using osu.Game.Input;
|
||||||
|
using osu.Game.Rulesets.Mods;
|
||||||
using osu.Game.Rulesets.Osu.Beatmaps;
|
using osu.Game.Rulesets.Osu.Beatmaps;
|
||||||
using osu.Game.Rulesets.Osu.Mods;
|
using osu.Game.Rulesets.Osu.Mods;
|
||||||
using osu.Game.Rulesets.Osu.Objects;
|
using osu.Game.Rulesets.Osu.Objects;
|
||||||
@ -113,6 +114,25 @@ namespace osu.Game.Rulesets.Osu.Tests.Mods
|
|||||||
AddAssert("touch device mod activated", () => Player.Score.ScoreInfo.Mods, () => Has.One.InstanceOf<OsuModTouchDevice>());
|
AddAssert("touch device mod activated", () => Player.Score.ScoreInfo.Mods, () => Has.One.InstanceOf<OsuModTouchDevice>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void TestIncompatibleModActive()
|
||||||
|
{
|
||||||
|
// this is only a veneer of enabling autopilot as having it actually active from the start is annoying to make happen
|
||||||
|
// given the tests' structure.
|
||||||
|
AddStep("enable autopilot", () => Player.Score.ScoreInfo.Mods = new Mod[] { new OsuModAutopilot() });
|
||||||
|
|
||||||
|
AddUntilStep("wait until 0 near", () => Player.GameplayClockContainer.CurrentTime, () => Is.GreaterThanOrEqualTo(0).Within(500));
|
||||||
|
AddStep("slow down", () => Player.GameplayClockContainer.AdjustmentsFromMods.Frequency.Value = 0.2);
|
||||||
|
AddUntilStep("wait until 0", () => Player.GameplayClockContainer.CurrentTime, () => Is.GreaterThanOrEqualTo(0));
|
||||||
|
AddStep("touch playfield", () =>
|
||||||
|
{
|
||||||
|
var touch = new Touch(TouchSource.Touch1, Player.DrawableRuleset.Playfield.ScreenSpaceDrawQuad.Centre);
|
||||||
|
InputManager.BeginTouch(touch);
|
||||||
|
InputManager.EndTouch(touch);
|
||||||
|
});
|
||||||
|
AddAssert("touch device mod not activated", () => Player.Score.ScoreInfo.Mods, () => Has.None.InstanceOf<OsuModTouchDevice>());
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestSecondObjectTouched()
|
public void TestSecondObjectTouched()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user