1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 11:27:24 +08:00

Merge pull request #19956 from peppy/fix-beatmap-carousel-interactive-test-run

Fix some `BeatmapCarousel` tests not correctly reinitialising local data per run
This commit is contained in:
Dan Balasescu 2022-08-25 14:52:22 +09:00 committed by GitHub
commit bf43f1d076
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -244,8 +244,12 @@ namespace osu.Game.Tests.Visual.SongSelect
const int total_set_count = 200;
AddStep("Populuate beatmap sets", () =>
{
sets.Clear();
for (int i = 0; i < total_set_count; i++)
sets.Add(TestResources.CreateTestBeatmapSetInfo());
});
loadBeatmaps(sets);
@ -275,8 +279,12 @@ namespace osu.Game.Tests.Visual.SongSelect
const int total_set_count = 20;
AddStep("Populuate beatmap sets", () =>
{
sets.Clear();
for (int i = 0; i < total_set_count; i++)
sets.Add(TestResources.CreateTestBeatmapSetInfo(3));
});
loadBeatmaps(sets);
@ -493,6 +501,10 @@ namespace osu.Game.Tests.Visual.SongSelect
const string zzz_string = "zzzzz";
AddStep("Populuate beatmap sets", () =>
{
sets.Clear();
for (int i = 0; i < 20; i++)
{
var set = TestResources.CreateTestBeatmapSetInfo();
@ -505,6 +517,7 @@ namespace osu.Game.Tests.Visual.SongSelect
sets.Add(set);
}
});
loadBeatmaps(sets);
@ -521,6 +534,11 @@ namespace osu.Game.Tests.Visual.SongSelect
public void TestSortingStability()
{
var sets = new List<BeatmapSetInfo>();
int idOffset = 0;
AddStep("Populuate beatmap sets", () =>
{
sets.Clear();
for (int i = 0; i < 10; i++)
{
@ -535,7 +553,8 @@ namespace osu.Game.Tests.Visual.SongSelect
sets.Add(set);
}
int idOffset = sets.First().OnlineID;
idOffset = sets.First().OnlineID;
});
loadBeatmaps(sets);
@ -556,6 +575,11 @@ namespace osu.Game.Tests.Visual.SongSelect
public void TestSortingStabilityWithNewItems()
{
List<BeatmapSetInfo> sets = new List<BeatmapSetInfo>();
int idOffset = 0;
AddStep("Populuate beatmap sets", () =>
{
sets.Clear();
for (int i = 0; i < 3; i++)
{
@ -570,12 +594,13 @@ namespace osu.Game.Tests.Visual.SongSelect
sets.Add(set);
}
int idOffset = sets.First().OnlineID;
idOffset = sets.First().OnlineID;
});
loadBeatmaps(sets);
AddStep("Sort by artist", () => carousel.Filter(new FilterCriteria { Sort = SortMode.Artist }, false));
AddAssert("Items remain in original order", () => carousel.BeatmapSets.Select((set, index) => set.OnlineID == idOffset + index).All(b => b));
assertOriginalOrderMaintained();
AddStep("Add new item", () =>
{
@ -590,10 +615,16 @@ namespace osu.Game.Tests.Visual.SongSelect
carousel.UpdateBeatmapSet(set);
});
AddAssert("Items remain in original order", () => carousel.BeatmapSets.Select((set, index) => set.OnlineID == idOffset + index).All(b => b));
assertOriginalOrderMaintained();
AddStep("Sort by title", () => carousel.Filter(new FilterCriteria { Sort = SortMode.Title }, false));
AddAssert("Items remain in original order", () => carousel.BeatmapSets.Select((set, index) => set.OnlineID == idOffset + index).All(b => b));
assertOriginalOrderMaintained();
void assertOriginalOrderMaintained()
{
AddAssert("Items remain in original order",
() => carousel.BeatmapSets.Select(s => s.OnlineID), () => Is.EqualTo(carousel.BeatmapSets.Select((set, index) => idOffset + index)));
}
}
[Test]
@ -601,6 +632,10 @@ namespace osu.Game.Tests.Visual.SongSelect
{
List<BeatmapSetInfo> sets = new List<BeatmapSetInfo>();
AddStep("Populuate beatmap sets", () =>
{
sets.Clear();
for (int i = 0; i < 3; i++)
{
var set = TestResources.CreateTestBeatmapSetInfo(3);
@ -608,6 +643,7 @@ namespace osu.Game.Tests.Visual.SongSelect
set.Beatmaps[2].StarRating = 6 + i;
sets.Add(set);
}
});
loadBeatmaps(sets);
@ -759,8 +795,13 @@ namespace osu.Game.Tests.Visual.SongSelect
{
List<BeatmapSetInfo> manySets = new List<BeatmapSetInfo>();
AddStep("Populuate beatmap sets", () =>
{
manySets.Clear();
for (int i = 1; i <= 50; i++)
manySets.Add(TestResources.CreateTestBeatmapSetInfo(3));
});
loadBeatmaps(manySets);
@ -791,6 +832,8 @@ namespace osu.Game.Tests.Visual.SongSelect
AddStep("populate maps", () =>
{
manySets.Clear();
for (int i = 0; i < 10; i++)
{
manySets.Add(TestResources.CreateTestBeatmapSetInfo(3, new[]