mirror of
https://github.com/ppy/osu.git
synced 2025-02-22 21:52:56 +08:00
fix tests
This commit is contained in:
parent
b24bfa2908
commit
956bdbca50
@ -353,7 +353,7 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
|
|||||||
{
|
{
|
||||||
public new SliderBodyPiece BodyPiece => base.BodyPiece;
|
public new SliderBodyPiece BodyPiece => base.BodyPiece;
|
||||||
public new TestSliderCircleOverlay HeadOverlay => (TestSliderCircleOverlay)base.HeadOverlay;
|
public new TestSliderCircleOverlay HeadOverlay => (TestSliderCircleOverlay)base.HeadOverlay;
|
||||||
public new TestSliderTailPiece TailPiece => (TestSliderTailPiece)base.TailPiece;
|
public new TestSliderCircleOverlay TailOverlay => (TestSliderCircleOverlay)base.TailOverlay;
|
||||||
public new PathControlPointVisualiser<Slider> ControlPointVisualiser => base.ControlPointVisualiser;
|
public new PathControlPointVisualiser<Slider> ControlPointVisualiser => base.ControlPointVisualiser;
|
||||||
|
|
||||||
public TestSliderBlueprint(Slider slider)
|
public TestSliderBlueprint(Slider slider)
|
||||||
@ -362,7 +362,6 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected override SliderCircleOverlay CreateCircleOverlay(Slider slider, SliderPosition position) => new TestSliderCircleOverlay(slider, position);
|
protected override SliderCircleOverlay CreateCircleOverlay(Slider slider, SliderPosition position) => new TestSliderCircleOverlay(slider, position);
|
||||||
protected override SliderTailPiece CreateTailPiece(Slider slider, SliderPosition position) => new TestSliderTailPiece(slider, position);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private partial class TestSliderCircleOverlay : SliderCircleOverlay
|
private partial class TestSliderCircleOverlay : SliderCircleOverlay
|
||||||
@ -374,15 +373,5 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private partial class TestSliderTailPiece : SliderTailPiece
|
|
||||||
{
|
|
||||||
public new HitCirclePiece CirclePiece => base.CirclePiece;
|
|
||||||
|
|
||||||
public TestSliderTailPiece(Slider slider, SliderPosition position)
|
|
||||||
: base(slider, position)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
|
using System.Linq;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using osu.Framework.Utils;
|
using osu.Framework.Utils;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
@ -164,51 +165,29 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestDragSliderTail()
|
public void TestAdjustDistance()
|
||||||
{
|
{
|
||||||
AddStep("move mouse to slider tail", () =>
|
AddStep("start adjust length",
|
||||||
{
|
() => blueprint.ContextMenuItems.Single(o => o.Text.Value == "Adjust length").Action.Value());
|
||||||
Vector2 position = slider.EndPosition + new Vector2(10, 0);
|
|
||||||
InputManager.MoveMouseTo(drawableObject.Parent!.ToScreenSpace(position));
|
|
||||||
});
|
|
||||||
AddStep("shift + drag", () =>
|
|
||||||
{
|
|
||||||
InputManager.PressKey(Key.ShiftLeft);
|
|
||||||
InputManager.PressButton(MouseButton.Left);
|
|
||||||
});
|
|
||||||
moveMouseToControlPoint(1);
|
moveMouseToControlPoint(1);
|
||||||
AddStep("release", () =>
|
AddStep("end adjust length", () => InputManager.Click(MouseButton.Right));
|
||||||
{
|
|
||||||
InputManager.ReleaseButton(MouseButton.Left);
|
|
||||||
InputManager.ReleaseKey(Key.ShiftLeft);
|
|
||||||
});
|
|
||||||
|
|
||||||
AddAssert("expected distance halved",
|
AddAssert("expected distance halved",
|
||||||
() => Precision.AlmostEquals(slider.Path.Distance, 172.2, 0.1));
|
() => Precision.AlmostEquals(slider.Path.Distance, 172.2, 0.1));
|
||||||
|
|
||||||
AddStep("move mouse to slider tail", () =>
|
AddStep("start adjust length",
|
||||||
{
|
() => blueprint.ContextMenuItems.Single(o => o.Text.Value == "Adjust length").Action.Value());
|
||||||
Vector2 position = slider.EndPosition + new Vector2(10, 0);
|
|
||||||
InputManager.MoveMouseTo(drawableObject.Parent!.ToScreenSpace(position));
|
|
||||||
});
|
|
||||||
AddStep("shift + drag", () =>
|
|
||||||
{
|
|
||||||
InputManager.PressKey(Key.ShiftLeft);
|
|
||||||
InputManager.PressButton(MouseButton.Left);
|
|
||||||
});
|
|
||||||
AddStep("move mouse beyond last control point", () =>
|
AddStep("move mouse beyond last control point", () =>
|
||||||
{
|
{
|
||||||
Vector2 position = slider.Position + slider.Path.ControlPoints[2].Position + new Vector2(50, 0);
|
Vector2 position = slider.Position + slider.Path.ControlPoints[2].Position + new Vector2(50, 0);
|
||||||
InputManager.MoveMouseTo(drawableObject.Parent!.ToScreenSpace(position));
|
InputManager.MoveMouseTo(drawableObject.Parent!.ToScreenSpace(position));
|
||||||
});
|
});
|
||||||
AddStep("release", () =>
|
AddStep("end adjust length", () => InputManager.Click(MouseButton.Right));
|
||||||
{
|
|
||||||
InputManager.ReleaseButton(MouseButton.Left);
|
|
||||||
InputManager.ReleaseKey(Key.ShiftLeft);
|
|
||||||
});
|
|
||||||
|
|
||||||
AddAssert("expected distance is calculated distance",
|
AddAssert("expected distance is calculated distance",
|
||||||
() => Precision.AlmostEquals(slider.Path.Distance, slider.Path.CalculatedDistance, 0.1));
|
() => Precision.AlmostEquals(slider.Path.Distance, slider.Path.CalculatedDistance, 0.1));
|
||||||
|
|
||||||
|
moveMouseToControlPoint(1);
|
||||||
|
AddAssert("expected distance is unchanged",
|
||||||
|
() => Precision.AlmostEquals(slider.Path.Distance, slider.Path.CalculatedDistance, 0.1));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void moveHitObject()
|
private void moveHitObject()
|
||||||
@ -227,7 +206,7 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
|
|||||||
() => Precision.AlmostEquals(blueprint.HeadOverlay.CirclePiece.ScreenSpaceDrawQuad.Centre, drawableObject.HeadCircle.ScreenSpaceDrawQuad.Centre));
|
() => Precision.AlmostEquals(blueprint.HeadOverlay.CirclePiece.ScreenSpaceDrawQuad.Centre, drawableObject.HeadCircle.ScreenSpaceDrawQuad.Centre));
|
||||||
|
|
||||||
AddAssert("tail positioned correctly",
|
AddAssert("tail positioned correctly",
|
||||||
() => Precision.AlmostEquals(blueprint.TailPiece.CirclePiece.ScreenSpaceDrawQuad.Centre, drawableObject.TailCircle.ScreenSpaceDrawQuad.Centre));
|
() => Precision.AlmostEquals(blueprint.TailOverlay.CirclePiece.ScreenSpaceDrawQuad.Centre, drawableObject.TailCircle.ScreenSpaceDrawQuad.Centre));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void moveMouseToControlPoint(int index)
|
private void moveMouseToControlPoint(int index)
|
||||||
@ -246,7 +225,7 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
|
|||||||
{
|
{
|
||||||
public new SliderBodyPiece BodyPiece => base.BodyPiece;
|
public new SliderBodyPiece BodyPiece => base.BodyPiece;
|
||||||
public new TestSliderCircleOverlay HeadOverlay => (TestSliderCircleOverlay)base.HeadOverlay;
|
public new TestSliderCircleOverlay HeadOverlay => (TestSliderCircleOverlay)base.HeadOverlay;
|
||||||
public new TestSliderTailPiece TailPiece => (TestSliderTailPiece)base.TailPiece;
|
public new TestSliderCircleOverlay TailOverlay => (TestSliderCircleOverlay)base.TailOverlay;
|
||||||
public new PathControlPointVisualiser<Slider> ControlPointVisualiser => base.ControlPointVisualiser;
|
public new PathControlPointVisualiser<Slider> ControlPointVisualiser => base.ControlPointVisualiser;
|
||||||
|
|
||||||
public TestSliderBlueprint(Slider slider)
|
public TestSliderBlueprint(Slider slider)
|
||||||
@ -255,7 +234,6 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected override SliderCircleOverlay CreateCircleOverlay(Slider slider, SliderPosition position) => new TestSliderCircleOverlay(slider, position);
|
protected override SliderCircleOverlay CreateCircleOverlay(Slider slider, SliderPosition position) => new TestSliderCircleOverlay(slider, position);
|
||||||
protected override SliderTailPiece CreateTailPiece(Slider slider, SliderPosition position) => new TestSliderTailPiece(slider, position);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private partial class TestSliderCircleOverlay : SliderCircleOverlay
|
private partial class TestSliderCircleOverlay : SliderCircleOverlay
|
||||||
@ -267,15 +245,5 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private partial class TestSliderTailPiece : SliderTailPiece
|
|
||||||
{
|
|
||||||
public new HitCirclePiece CirclePiece => base.CirclePiece;
|
|
||||||
|
|
||||||
public TestSliderTailPiece(Slider slider, SliderPosition position)
|
|
||||||
: base(slider, position)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ namespace osu.Game.Rulesets.Osu.Edit.Blueprints.Sliders
|
|||||||
|
|
||||||
protected SliderBodyPiece BodyPiece { get; private set; }
|
protected SliderBodyPiece BodyPiece { get; private set; }
|
||||||
protected SliderCircleOverlay HeadOverlay { get; private set; }
|
protected SliderCircleOverlay HeadOverlay { get; private set; }
|
||||||
protected SliderCircleOverlay TailPiece { get; private set; }
|
protected SliderCircleOverlay TailOverlay { get; private set; }
|
||||||
|
|
||||||
[CanBeNull]
|
[CanBeNull]
|
||||||
protected PathControlPointVisualiser<Slider> ControlPointVisualiser { get; private set; }
|
protected PathControlPointVisualiser<Slider> ControlPointVisualiser { get; private set; }
|
||||||
@ -77,7 +77,7 @@ namespace osu.Game.Rulesets.Osu.Edit.Blueprints.Sliders
|
|||||||
{
|
{
|
||||||
BodyPiece = new SliderBodyPiece(),
|
BodyPiece = new SliderBodyPiece(),
|
||||||
HeadOverlay = CreateCircleOverlay(HitObject, SliderPosition.Start),
|
HeadOverlay = CreateCircleOverlay(HitObject, SliderPosition.Start),
|
||||||
TailPiece = CreateCircleOverlay(HitObject, SliderPosition.End),
|
TailOverlay = CreateCircleOverlay(HitObject, SliderPosition.End),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user