From 45d248cd26ee4d9ab000249b95f4b8fd55dfd161 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 16 May 2025 15:04:45 +0900 Subject: [PATCH] Tidy up `TestSceneFooterButtonMods` tests --- .../SongSelectV2/TestSceneFooterButtonMods.cs | 32 +++++++------------ osu.Game/Screens/SelectV2/FooterButtonMods.cs | 12 +++---- 2 files changed, 17 insertions(+), 27 deletions(-) diff --git a/osu.Game.Tests/Visual/SongSelectV2/TestSceneFooterButtonMods.cs b/osu.Game.Tests/Visual/SongSelectV2/TestSceneFooterButtonMods.cs index 5c2c6eaf1d..8e27c395c8 100644 --- a/osu.Game.Tests/Visual/SongSelectV2/TestSceneFooterButtonMods.cs +++ b/osu.Game.Tests/Visual/SongSelectV2/TestSceneFooterButtonMods.cs @@ -20,14 +20,14 @@ namespace osu.Game.Tests.Visual.SongSelectV2 { public partial class TestSceneFooterButtonMods : OsuTestScene { - private readonly TestScreenFooterButtonMods footerButtonMods; + private readonly FooterButtonMods footerButtonMods; [Cached] private OverlayColourProvider colourProvider = new OverlayColourProvider(OverlayColourScheme.Aquamarine); public TestSceneFooterButtonMods() { - Add(footerButtonMods = new TestScreenFooterButtonMods(new TestModSelectOverlay()) + Add(footerButtonMods = new FooterButtonMods(new TestModSelectOverlay()) { Anchor = Anchor.Centre, Origin = Anchor.CentreLeft, @@ -63,19 +63,19 @@ namespace osu.Game.Tests.Visual.SongSelectV2 { var hiddenMod = new Mod[] { new OsuModHidden() }; AddStep(@"Add Hidden", () => changeMods(hiddenMod)); - AddAssert(@"Check Hidden multiplier", () => assertModsMultiplier(hiddenMod)); + assertModsMultiplier(hiddenMod); var hardRockMod = new Mod[] { new OsuModHardRock() }; AddStep(@"Add HardRock", () => changeMods(hardRockMod)); - AddAssert(@"Check HardRock multiplier", () => assertModsMultiplier(hardRockMod)); + assertModsMultiplier(hardRockMod); var doubleTimeMod = new Mod[] { new OsuModDoubleTime() }; AddStep(@"Add DoubleTime", () => changeMods(doubleTimeMod)); - AddAssert(@"Check DoubleTime multiplier", () => assertModsMultiplier(doubleTimeMod)); + assertModsMultiplier(doubleTimeMod); var multipleIncrementMods = new Mod[] { new OsuModDoubleTime(), new OsuModHidden(), new OsuModHardRock() }; AddStep(@"Add multiple Mods", () => changeMods(multipleIncrementMods)); - AddAssert(@"Check multiple mod multiplier", () => assertModsMultiplier(multipleIncrementMods)); + assertModsMultiplier(multipleIncrementMods); } [Test] @@ -83,15 +83,15 @@ namespace osu.Game.Tests.Visual.SongSelectV2 { var easyMod = new Mod[] { new OsuModEasy() }; AddStep(@"Add Easy", () => changeMods(easyMod)); - AddAssert(@"Check Easy multiplier", () => assertModsMultiplier(easyMod)); + assertModsMultiplier(easyMod); var noFailMod = new Mod[] { new OsuModNoFail() }; AddStep(@"Add NoFail", () => changeMods(noFailMod)); - AddAssert(@"Check NoFail multiplier", () => assertModsMultiplier(noFailMod)); + assertModsMultiplier(noFailMod); var multipleDecrementMods = new Mod[] { new OsuModEasy(), new OsuModNoFail() }; AddStep(@"Add Multiple Mods", () => changeMods(multipleDecrementMods)); - AddAssert(@"Check multiple mod multiplier", () => assertModsMultiplier(multipleDecrementMods)); + assertModsMultiplier(multipleDecrementMods); } [Test] @@ -105,12 +105,12 @@ namespace osu.Game.Tests.Visual.SongSelectV2 private void changeMods(IReadOnlyList mods) => footerButtonMods.Current.Value = mods; - private bool assertModsMultiplier(IEnumerable mods) + private void assertModsMultiplier(IEnumerable mods) { double multiplier = mods.Aggregate(1.0, (current, mod) => current * mod.ScoreMultiplier); string expectedValue = ModUtils.FormatScoreMultiplier(multiplier).ToString(); - return expectedValue == footerButtonMods.MultiplierText.Current.Value; + AddAssert($"Displayed multiplier is {expectedValue}", () => footerButtonMods.ChildrenOfType().First(t => t.Text.ToString().Contains('x')).Text.ToString(), () => Is.EqualTo(expectedValue)); } private partial class TestModSelectOverlay : UserModSelectOverlay @@ -121,15 +121,5 @@ namespace osu.Game.Tests.Visual.SongSelectV2 ShowPresets = true; } } - - private partial class TestScreenFooterButtonMods : FooterButtonMods - { - public new OsuSpriteText MultiplierText => base.MultiplierText; - - public TestScreenFooterButtonMods(ModSelectOverlay overlay) - : base(overlay) - { - } - } } } diff --git a/osu.Game/Screens/SelectV2/FooterButtonMods.cs b/osu.Game/Screens/SelectV2/FooterButtonMods.cs index 3a270d8a68..41ac1a2ff6 100644 --- a/osu.Game/Screens/SelectV2/FooterButtonMods.cs +++ b/osu.Game/Screens/SelectV2/FooterButtonMods.cs @@ -50,7 +50,7 @@ namespace osu.Game.Screens.SelectV2 private ModDisplay modDisplay = null!; private OsuSpriteText modCountText = null!; - protected OsuSpriteText MultiplierText { get; private set; } = null!; + private OsuSpriteText multiplierText { get; set; } = null!; [Resolved] private OsuColour colours { get; set; } = null!; @@ -104,7 +104,7 @@ namespace osu.Game.Screens.SelectV2 RelativeSizeAxes = Axes.Both, Width = 1f - mod_display_portion, Masking = true, - Child = MultiplierText = new OsuSpriteText + Child = multiplierText = new OsuSpriteText { Anchor = Anchor.Centre, Origin = Anchor.Centre, @@ -221,14 +221,14 @@ namespace osu.Game.Screens.SelectV2 } double multiplier = Current.Value?.Aggregate(1.0, (current, mod) => current * mod.ScoreMultiplier) ?? 1; - MultiplierText.Text = ModUtils.FormatScoreMultiplier(multiplier); + multiplierText.Text = ModUtils.FormatScoreMultiplier(multiplier); if (multiplier > 1) - MultiplierText.FadeColour(colours.Red1, duration, easing); + multiplierText.FadeColour(colours.Red1, duration, easing); else if (multiplier < 1) - MultiplierText.FadeColour(colours.Lime1, duration, easing); + multiplierText.FadeColour(colours.Lime1, duration, easing); else - MultiplierText.FadeColour(Color4.White, duration, easing); + multiplierText.FadeColour(Color4.White, duration, easing); } private partial class ModCountText : OsuSpriteText, IHasCustomTooltip>