diff --git a/osu.Game.Tournament.Tests/LadderTestCase.cs b/osu.Game.Tournament.Tests/LadderTestCase.cs index 3044451a9e..ee8cfb8f8a 100644 --- a/osu.Game.Tournament.Tests/LadderTestCase.cs +++ b/osu.Game.Tournament.Tests/LadderTestCase.cs @@ -3,8 +3,13 @@ using System.IO; using Newtonsoft.Json; +using osu.Framework.Allocation; using osu.Framework.Graphics; +using osu.Game.Beatmaps; using osu.Game.Graphics.UserInterface; +using osu.Game.Online.API; +using osu.Game.Online.API.Requests; +using osu.Game.Rulesets; using osu.Game.Tests.Visual; using osu.Game.Tournament.Screens.Ladder.Components; @@ -14,10 +19,35 @@ namespace osu.Game.Tournament.Tests { protected LadderInfo Ladder; - protected LadderTestCase() + [Resolved] + private APIAccess api { get; set; } = null; + + [Resolved] + private RulesetStore rulesets { get; set; } = null; + + [BackgroundDependencyLoader] + private void load() { Ladder = File.Exists(@"bracket.json") ? JsonConvert.DeserializeObject(File.ReadAllText(@"bracket.json")) : new LadderInfo(); + bool addedInfo = false; + + foreach (var g in Ladder.Groupings) + foreach (var b in g.Beatmaps) + { + if (b.BeatmapInfo == null) + { + var req = new GetBeatmapRequest(new BeatmapInfo { OnlineBeatmapID = b.ID }); + req.Success += i => b.BeatmapInfo = i.ToBeatmap(rulesets); + req.Perform(api); + + addedInfo = true; + } + } + + if (addedInfo) + SaveChanges(); + Add(new OsuButton { Text = "Save Changes", diff --git a/osu.Game.Tournament.Tests/TestCaseGroupingManager.cs b/osu.Game.Tournament.Tests/TestCaseGroupingManager.cs index a0a4dfdc8b..2b79ba0225 100644 --- a/osu.Game.Tournament.Tests/TestCaseGroupingManager.cs +++ b/osu.Game.Tournament.Tests/TestCaseGroupingManager.cs @@ -2,6 +2,7 @@ // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System.Linq; +using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Game.Graphics.UserInterface; @@ -37,6 +38,11 @@ namespace osu.Game.Tournament.Tests } }); + } + + [BackgroundDependencyLoader] + private void load() + { foreach (var g in Ladder.Groupings) items.Add(new GroupingRow(g)); } diff --git a/osu.Game.Tournament.Tests/TestCaseLadderManager.cs b/osu.Game.Tournament.Tests/TestCaseLadderManager.cs index a7b93c8055..35a86e83b8 100644 --- a/osu.Game.Tournament.Tests/TestCaseLadderManager.cs +++ b/osu.Game.Tournament.Tests/TestCaseLadderManager.cs @@ -11,9 +11,10 @@ namespace osu.Game.Tournament.Tests public class TestCaseLadderManager : LadderTestCase { [Cached] - private readonly LadderManager manager; + private LadderManager manager; - public TestCaseLadderManager() + [BackgroundDependencyLoader] + private void load() { Add(new OsuContextMenuContainer { diff --git a/osu.Game.Tournament.Tests/TestCaseMapPool.cs b/osu.Game.Tournament.Tests/TestCaseMapPool.cs index 11d9a7806b..2c6999d6ae 100644 --- a/osu.Game.Tournament.Tests/TestCaseMapPool.cs +++ b/osu.Game.Tournament.Tests/TestCaseMapPool.cs @@ -2,9 +2,9 @@ // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System.Linq; +using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; -using osu.Game.Beatmaps; using osu.Game.Tournament.Components; using osu.Game.Tournament.Screens.Ladder.Components; @@ -12,7 +12,8 @@ namespace osu.Game.Tournament.Tests { public class TestCaseMapPool : LadderTestCase { - public TestCaseMapPool() + [BackgroundDependencyLoader] + private void load() { var round = Ladder.Groupings.First(g => g.Name == "Finals"); @@ -22,10 +23,10 @@ namespace osu.Game.Tournament.Tests public class MapPoolScreen : CompositeDrawable { - private readonly FillFlowContainer maps; - public MapPoolScreen(TournamentGrouping round) { + FillFlowContainer maps; + InternalChildren = new Drawable[] { maps = new FillFlowContainer @@ -35,8 +36,8 @@ namespace osu.Game.Tournament.Tests }, }; - //foreach (var b in round.Beatmaps) - // maps.Add(new TournamentBeatmapPanel(new BeatmapInfo() { OnlineBeatmapID = b.ID })); + foreach (var b in round.Beatmaps) + maps.Add(new TournamentBeatmapPanel(b.BeatmapInfo)); } } } diff --git a/osu.Game.Tournament.Tests/TestCaseTeamOverview.cs b/osu.Game.Tournament.Tests/TestCaseTeamOverview.cs index 006c8805c1..52a5a7204c 100644 --- a/osu.Game.Tournament.Tests/TestCaseTeamOverview.cs +++ b/osu.Game.Tournament.Tests/TestCaseTeamOverview.cs @@ -2,13 +2,15 @@ // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System.Linq; +using osu.Framework.Allocation; using osu.Game.Tournament.Screens.TeamIntro; namespace osu.Game.Tournament.Tests { public class TestCaseTeamIntro : LadderTestCase { - public TestCaseTeamIntro() + [BackgroundDependencyLoader] + private void load() { var team1 = Ladder.Teams.First(t => t.Acronym == "USA"); var team2 = Ladder.Teams.First(t => t.Acronym == "JPN"); diff --git a/osu.Game.Tournament/Screens/Ladder/Components/GroupingBeatmap.cs b/osu.Game.Tournament/Screens/Ladder/Components/GroupingBeatmap.cs index 7395a2ae5f..416f960404 100644 --- a/osu.Game.Tournament/Screens/Ladder/Components/GroupingBeatmap.cs +++ b/osu.Game.Tournament/Screens/Ladder/Components/GroupingBeatmap.cs @@ -1,11 +1,15 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE +using osu.Game.Beatmaps; + namespace osu.Game.Tournament.Screens.Ladder.Components { public class GroupingBeatmap { public int ID; public string Mods; + + public BeatmapInfo BeatmapInfo; } } diff --git a/osu.sln.DotSettings b/osu.sln.DotSettings index 404b19deda..345400305c 100644 --- a/osu.sln.DotSettings +++ b/osu.sln.DotSettings @@ -666,6 +666,7 @@ Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/maste True True True + True True True True