From 9c76c94ec61d2c75e86546b65dcc0ce19e2a5a87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Mon, 18 Aug 2025 10:48:38 +0200 Subject: [PATCH 1/2] Add failing test --- .../Visual/SongSelectV2/BeatmapCarouselFilterGroupingTest.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/osu.Game.Tests/Visual/SongSelectV2/BeatmapCarouselFilterGroupingTest.cs b/osu.Game.Tests/Visual/SongSelectV2/BeatmapCarouselFilterGroupingTest.cs index 939a5e6e7c..c8f1c1e017 100644 --- a/osu.Game.Tests/Visual/SongSelectV2/BeatmapCarouselFilterGroupingTest.cs +++ b/osu.Game.Tests/Visual/SongSelectV2/BeatmapCarouselFilterGroupingTest.cs @@ -235,6 +235,7 @@ namespace osu.Game.Tests.Visual.SongSelectV2 addBeatmapSet(applyBPM(95), beatmapSets, out var beatmap95); addBeatmapSet(applyBPM(269.5), beatmapSets, out var beatmap269); addBeatmapSet(applyBPM(270), beatmapSets, out var beatmap270); + addBeatmapSet(applyBPM(299), beatmapSets, out var beatmap299); addBeatmapSet(applyBPM(300), beatmapSets, out var beatmap300); addBeatmapSet(applyBPM(330), beatmapSets, out var beatmap330); @@ -243,7 +244,8 @@ namespace osu.Game.Tests.Visual.SongSelectV2 assertGroup(results, 1, "60 - 70 BPM", new[] { beatmap59, beatmap60 }, ref total); assertGroup(results, 2, "90 - 100 BPM", new[] { beatmap90, beatmap95 }, ref total); assertGroup(results, 3, "270 - 280 BPM", new[] { beatmap269, beatmap270 }, ref total); - assertGroup(results, 4, "Over 300 BPM", new[] { beatmap300, beatmap330 }, ref total); + assertGroup(results, 4, "290 - 300 BPM", new[] { beatmap299 }, ref total); + assertGroup(results, 5, "Over 300 BPM", new[] { beatmap300, beatmap330 }, ref total); assertTotal(results, total); } From 322f7220f810a392469a18772179bfe5bec0ec51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Mon, 18 Aug 2025 10:49:07 +0200 Subject: [PATCH 2/2] Fix BPM grouping mode not defining a group for 290 - 300 BPM range closes https://github.com/ppy/osu/issues/34724 --- osu.Game/Screens/SelectV2/BeatmapCarouselFilterGrouping.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/osu.Game/Screens/SelectV2/BeatmapCarouselFilterGrouping.cs b/osu.Game/Screens/SelectV2/BeatmapCarouselFilterGrouping.cs index 6be620899b..f17281db2f 100644 --- a/osu.Game/Screens/SelectV2/BeatmapCarouselFilterGrouping.cs +++ b/osu.Game/Screens/SelectV2/BeatmapCarouselFilterGrouping.cs @@ -352,13 +352,13 @@ namespace osu.Game.Screens.SelectV2 if (bpm < 60) return new GroupDefinition(60, "Under 60 BPM"); - for (int i = 70; i < 300; i += 10) + for (int i = 70; i <= 300; i += 10) { if (bpm < i) return new GroupDefinition(i, $"{i - 10} - {i} BPM"); } - return new GroupDefinition(300, "Over 300 BPM"); + return new GroupDefinition(301, "Over 300 BPM"); } private GroupDefinition defineGroupByStars(double stars)