// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; using System.Collections.Generic; using NUnit.Framework; using osu.Framework.Bindables; using osu.Game.Online.Rooms; using osu.Game.Rulesets.Osu; using osu.Game.Scoring; using osu.Game.Screens.OnlinePlay.Multiplayer; using osu.Game.Users; namespace osu.Game.Tests.Visual.Multiplayer { public class TestSceneMultiplayerTeamResults : ScreenTestScene { [Test] public void TestDisplayWithTeams() { MultiplayerResultsScreen screen = null; AddStep("show results screen", () => { var rulesetInfo = new OsuRuleset().RulesetInfo; var beatmapInfo = CreateBeatmap(rulesetInfo).BeatmapInfo; var score = new ScoreInfo { Rank = ScoreRank.B, TotalScore = 987654, Accuracy = 0.8, MaxCombo = 500, Combo = 250, Beatmap = beatmapInfo, User = new User { Username = "Test user" }, Date = DateTimeOffset.Now, OnlineScoreID = 12345, Ruleset = rulesetInfo, }; PlaylistItem playlistItem = new PlaylistItem { BeatmapID = beatmapInfo.ID, }; SortedDictionary teamScores = new SortedDictionary { { 0, new BindableInt(7483253) }, { 1, new BindableInt(1048576) } }; Stack.Push(screen = new MultiplayerResultsScreen(score, 1, playlistItem, teamScores)); }); AddUntilStep("wait for loaded", () => screen.IsLoaded); } [Test] public void TestDisplayWithoutTeams() { MultiplayerResultsScreen screen = null; AddStep("show results screen", () => { var rulesetInfo = new OsuRuleset().RulesetInfo; var beatmapInfo = CreateBeatmap(rulesetInfo).BeatmapInfo; var score = new ScoreInfo { Rank = ScoreRank.B, TotalScore = 987654, Accuracy = 0.8, MaxCombo = 500, Combo = 250, Beatmap = beatmapInfo, User = new User { Username = "Test user" }, Date = DateTimeOffset.Now, OnlineScoreID = 12345, Ruleset = rulesetInfo, }; PlaylistItem playlistItem = new PlaylistItem { BeatmapID = beatmapInfo.ID, }; SortedDictionary teamScores = new SortedDictionary(); Stack.Push(screen = new MultiplayerResultsScreen(score, 1, playlistItem, teamScores)); }); AddUntilStep("wait for loaded", () => screen.IsLoaded); } } }