Exemple #1
0
        public void TestChangeRulesetWhilePresentingScore()
        {
            BeatmapInfo getPresentBeatmap() => manager.QueryBeatmap(b => !b.BeatmapSet.DeletePending && b.RulesetID == 0);
            BeatmapInfo getSwitchBeatmap() => manager.QueryBeatmap(b => !b.BeatmapSet.DeletePending && b.RulesetID == 1);

            changeRuleset(0);

            createSongSelect();

            addRulesetImportStep(0);
            addRulesetImportStep(1);

            AddStep("present score", () =>
            {
                // this ruleset change should be overridden by the present.
                Ruleset.Value = getSwitchBeatmap().Ruleset;

                songSelect.PresentScore(new ScoreInfo
                {
                    User = new APIUser {
                        Username = "******"
                    },
                    BeatmapInfo = getPresentBeatmap(),
                    Ruleset     = getPresentBeatmap().Ruleset
                });
            });

            AddUntilStep("wait for results screen presented", () => !songSelect.IsCurrentScreen());

            AddAssert("check beatmap is correct for score", () => Beatmap.Value.BeatmapInfo.Equals(getPresentBeatmap()));
            AddAssert("check ruleset is correct for score", () => Ruleset.Value.ID == 0);
        }