From 24a1eb8003c4bcddce3ea0e076d09c15a8bfe6fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Mon, 25 Apr 2022 23:41:40 +0200 Subject: [PATCH] Add test coverage for column dimming behaviour --- .../UserInterface/TestSceneModSelectScreen.cs | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneModSelectScreen.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneModSelectScreen.cs index 514538161e..d7ae131372 100644 --- a/osu.Game.Tests/Visual/UserInterface/TestSceneModSelectScreen.cs +++ b/osu.Game.Tests/Visual/UserInterface/TestSceneModSelectScreen.cs @@ -111,6 +111,35 @@ namespace osu.Game.Tests.Visual.UserInterface && SelectedMods.Value.Any(mod => mod.GetType() == typeof(OsuModMirror))); } + [Test] + public void TestDimmedState() + { + createScreen(); + changeRuleset(0); + + AddUntilStep("any column dimmed", () => this.ChildrenOfType().Any(column => !column.Active.Value)); + + ModColumn firstDimmed = null; + ModPanel firstPanel = null; + + AddStep("click first panel on dimmed column", () => + { + firstDimmed = this.ChildrenOfType().First(column => !column.Active.Value); + firstPanel = firstDimmed.ChildrenOfType().First(); + InputManager.MoveMouseTo(firstPanel); + InputManager.Click(MouseButton.Left); + }); + AddUntilStep("column undimmed", () => firstDimmed.Active.Value); + AddAssert("panel not selected", () => !firstPanel.Active.Value); + + AddStep("click panel again", () => + { + InputManager.MoveMouseTo(firstPanel); + InputManager.Click(MouseButton.Left); + }); + AddUntilStep("panel selected", () => firstPanel.Active.Value); + } + [Test] public void TestCustomisationToggleState() {