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

Crudely fix crashes when switching between TestResultsWithPlayer cases

In the visual test browser, if two `TestResultsWithPlayer` test cases
are ran consecutively, the second would die on `SoloStatisticsWatcher`
seeing duplicated online score IDs. This surfaced after
6ef39b87fe, which changed
`TestResultsScreen` to inherit `SoloResultsScreen` rather than
`ResultsScreen`.

This is probably _not_ a very good fix, but I'm trying to be pragmatic
for now. `SoloStatisticsWatcher` should probably not live in
`OsuGameBase`.
This commit is contained in:
Bartłomiej Dach 2023-07-13 18:53:32 +02:00
parent 6ef39b87fe
commit 4b06b6f34e
No known key found for this signature in database

View File

@ -69,6 +69,8 @@ namespace osu.Game.Tests.Visual.Ranking
}));
}
private int onlineScoreID = 1;
[TestCase(1, ScoreRank.X)]
[TestCase(0.9999, ScoreRank.S)]
[TestCase(0.975, ScoreRank.S)]
@ -81,14 +83,17 @@ namespace osu.Game.Tests.Visual.Ranking
{
TestResultsScreen screen = null;
var score = TestResources.CreateTestScoreInfo();
loadResultsScreen(() =>
{
var score = TestResources.CreateTestScoreInfo();
score.OnlineID = 1234;
score.HitEvents = TestSceneStatisticsPanel.CreatePositionDistributedHitEvents();
score.Accuracy = accuracy;
score.Rank = rank;
score.OnlineID = onlineScoreID++;
score.HitEvents = TestSceneStatisticsPanel.CreatePositionDistributedHitEvents();
score.Accuracy = accuracy;
score.Rank = rank;
loadResultsScreen(() => screen = createResultsScreen(score));
return screen = createResultsScreen(score);
});
AddUntilStep("wait for loaded", () => screen.IsLoaded);
AddAssert("retry overlay present", () => screen.RetryOverlay != null);
}