mirror of https://github.com/ppy/osu
Merge pull request #17609 from CenTdemeern1/toolbar-clock-tests
Add test coverage for toolbar clock mode cycling
This commit is contained in:
commit
9d236c503d
|
@ -2,10 +2,13 @@
|
|||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using NUnit.Framework;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Framework.Bindables;
|
||||
using osu.Framework.Graphics;
|
||||
using osu.Framework.Graphics.Containers;
|
||||
using osu.Framework.Graphics.Shapes;
|
||||
using osu.Framework.Timing;
|
||||
using osu.Game.Configuration;
|
||||
using osu.Game.Overlays.Toolbar;
|
||||
using osuTK;
|
||||
using osuTK.Graphics;
|
||||
|
@ -15,7 +18,10 @@ namespace osu.Game.Tests.Visual.Menus
|
|||
[TestFixture]
|
||||
public class TestSceneToolbarClock : OsuManualInputManagerTestScene
|
||||
{
|
||||
private Bindable<ToolbarClockDisplayMode> clockDisplayMode;
|
||||
|
||||
private readonly Container mainContainer;
|
||||
private readonly ToolbarClock toolbarClock;
|
||||
|
||||
public TestSceneToolbarClock()
|
||||
{
|
||||
|
@ -49,7 +55,7 @@ public TestSceneToolbarClock()
|
|||
RelativeSizeAxes = Axes.Y,
|
||||
Width = 2,
|
||||
},
|
||||
new ToolbarClock(),
|
||||
toolbarClock = new ToolbarClock(),
|
||||
new Box
|
||||
{
|
||||
Colour = Color4.DarkRed,
|
||||
|
@ -65,6 +71,12 @@ public TestSceneToolbarClock()
|
|||
AddSliderStep("scale", 0.5, 4, 1, scale => mainContainer.Scale = new Vector2((float)scale));
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(OsuConfigManager config)
|
||||
{
|
||||
clockDisplayMode = config.GetBindable<ToolbarClockDisplayMode>(OsuSetting.ToolbarClockDisplayMode);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestRealGameTime()
|
||||
{
|
||||
|
@ -76,5 +88,20 @@ public void TestLongGameTime()
|
|||
{
|
||||
AddStep("Set game time long", () => mainContainer.Clock = new FramedOffsetClock(Clock, false) { Offset = 3600.0 * 24 * 1000 * 98 });
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestDisplayModeChange()
|
||||
{
|
||||
AddStep("Set clock display mode", () => clockDisplayMode.Value = ToolbarClockDisplayMode.Full);
|
||||
|
||||
AddStep("Trigger click", () => toolbarClock.TriggerClick());
|
||||
AddAssert("State is digital with runtime", () => clockDisplayMode.Value == ToolbarClockDisplayMode.DigitalWithRuntime);
|
||||
AddStep("Trigger click", () => toolbarClock.TriggerClick());
|
||||
AddAssert("State is digital", () => clockDisplayMode.Value == ToolbarClockDisplayMode.Digital);
|
||||
AddStep("Trigger click", () => toolbarClock.TriggerClick());
|
||||
AddAssert("State is analog", () => clockDisplayMode.Value == ToolbarClockDisplayMode.Analog);
|
||||
AddStep("Trigger click", () => toolbarClock.TriggerClick());
|
||||
AddAssert("State is full", () => clockDisplayMode.Value == ToolbarClockDisplayMode.Full);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue