diff --git a/osu.Game.Tests/Visual/SongSelect/TestScenePlaySongSelect.cs b/osu.Game.Tests/Visual/SongSelect/TestScenePlaySongSelect.cs
index be390742ea..912d3f838c 100644
--- a/osu.Game.Tests/Visual/SongSelect/TestScenePlaySongSelect.cs
+++ b/osu.Game.Tests/Visual/SongSelect/TestScenePlaySongSelect.cs
@@ -466,7 +466,9 @@ namespace osu.Game.Tests.Visual.SongSelect
public void TestExternalBeatmapChangeWhileFiltered(bool differentRuleset)
{
createSongSelect();
- addManyTestMaps();
+ // ensure there is at least 1 difficulty for each of the rulesets
+ // (catch is excluded inside of addManyTestMaps).
+ addManyTestMaps(3);
changeRuleset(0);
@@ -488,8 +490,9 @@ namespace osu.Game.Tests.Visual.SongSelect
AddStep("select beatmap externally", () =>
{
target = manager.GetAllUsableBeatmapSets()
- .Where(b => b.Beatmaps.Any(bi => bi.RulesetID == targetRuleset))
- .ElementAt(5).Beatmaps.First(bi => bi.RulesetID == targetRuleset);
+ .First(b => b.Beatmaps.Any(bi => bi.RulesetID == targetRuleset))
+ .Beatmaps
+ .First(bi => bi.RulesetID == targetRuleset);
Beatmap.Value = manager.GetWorkingBeatmap(target);
});
@@ -518,7 +521,9 @@ namespace osu.Game.Tests.Visual.SongSelect
public void TestExternalBeatmapChangeWhileFilteredThenRefilter()
{
createSongSelect();
- addManyTestMaps();
+ // ensure there is at least 1 difficulty for each of the rulesets
+ // (catch is excluded inside of addManyTestMaps).
+ addManyTestMaps(3);
changeRuleset(0);
@@ -534,8 +539,10 @@ namespace osu.Game.Tests.Visual.SongSelect
AddStep("select beatmap externally", () =>
{
- target = manager.GetAllUsableBeatmapSets().Where(b => b.Beatmaps.Any(bi => bi.RulesetID == 1))
- .ElementAt(5).Beatmaps.First();
+ target = manager
+ .GetAllUsableBeatmapSets()
+ .First(b => b.Beatmaps.Any(bi => bi.RulesetID == 1))
+ .Beatmaps.First();
Beatmap.Value = manager.GetWorkingBeatmap(target);
});
@@ -877,14 +884,21 @@ namespace osu.Game.Tests.Visual.SongSelect
AddUntilStep("wait for carousel loaded", () => songSelect.Carousel.IsAlive);
}
- private void addManyTestMaps()
+ ///
+ /// Imports test beatmap sets to show in the carousel.
+ ///
+ ///
+ /// The exact count of difficulties to create for each beatmap set.
+ /// A value causes the count of difficulties to be selected randomly.
+ ///
+ private void addManyTestMaps(int? difficultyCountPerSet = null)
{
AddStep("import test maps", () =>
{
var usableRulesets = rulesets.AvailableRulesets.Where(r => r.OnlineID != 2).ToArray();
- for (int i = 0; i < 100; i += 10)
- manager.Import(TestResources.CreateTestBeatmapSetInfo(rulesets: usableRulesets)).Wait();
+ for (int i = 0; i < 10; i++)
+ manager.Import(TestResources.CreateTestBeatmapSetInfo(difficultyCountPerSet, usableRulesets)).Wait();
});
}