public void TestFromMainMenu([Values] ScorePresentType type) { var firstImport = importScore(1); var secondImport = importScore(3); presentAndConfirm(firstImport, type); returnToMenu(); presentAndConfirm(secondImport, type); returnToMenu(); returnToMenu(); }
public void TestFromMainMenuDifferentRuleset([Values] ScorePresentType type) { var firstImport = importScore(1); var secondimport = importScore(3, new ManiaRuleset().RulesetInfo); presentAndConfirm(firstImport, type); returnToMenu(); presentAndConfirm(secondimport, type); returnToMenu(); returnToMenu(); }
public void TestFromSongSelect([Values] ScorePresentType type) { AddStep("enter song select", () => Game.ChildrenOfType <ButtonSystem>().Single().OnSolo.Invoke()); AddUntilStep("song select is current", () => Game.ScreenStack.CurrentScreen is PlaySongSelect songSelect && songSelect.BeatmapSetsLoaded); var firstImport = importScore(1); presentAndConfirm(firstImport, type); var secondImport = importScore(3); presentAndConfirm(secondImport, type); }
private void presentAndConfirm(Func <ScoreInfo> getImport, ScorePresentType type) { AddStep("present score", () => Game.PresentScore(getImport(), type)); switch (type) { case ScorePresentType.Results: AddUntilStep("wait for results", () => Game.ScreenStack.CurrentScreen is ResultsScreen); AddUntilStep("correct score displayed", () => ((ResultsScreen)Game.ScreenStack.CurrentScreen).Score.ID == getImport().ID); AddAssert("correct ruleset selected", () => Game.Ruleset.Value.ID == getImport().Ruleset.ID); break; case ScorePresentType.Gameplay: AddUntilStep("wait for player loader", () => Game.ScreenStack.CurrentScreen is ReplayPlayerLoader); AddUntilStep("correct score displayed", () => ((ReplayPlayerLoader)Game.ScreenStack.CurrentScreen).Score.ID == getImport().ID); AddAssert("correct ruleset selected", () => Game.Ruleset.Value.ID == getImport().Ruleset.ID); break; } }