Path: blob/master/osu.Game.Tournament.Tests/Components/TestSceneSongBar.cs
4439 views
// Copyright (c) ppy Pty Ltd <[email protected]>. Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using NUnit.Framework; using osu.Framework.Graphics; using osu.Framework.Testing; using osu.Game.Beatmaps.Legacy; using osu.Game.Rulesets.Catch; using osu.Game.Rulesets.Mania; using osu.Game.Rulesets.Osu; using osu.Game.Rulesets.Taiko; using osu.Game.Tournament.Components; using osu.Game.Tournament.Models; namespace osu.Game.Tournament.Tests.Components { [TestFixture] public partial class TestSceneSongBar : TournamentTestScene { private SongBar songBar = null!; private TournamentBeatmap ladderBeatmap = null!; [SetUpSteps] public override void SetUpSteps() { base.SetUpSteps(); AddStep("setup picks bans", () => { ladderBeatmap = CreateSampleBeatmap(); Ladder.CurrentMatch.Value!.PicksBans.Add(new BeatmapChoice { BeatmapID = ladderBeatmap.OnlineID, Team = TeamColour.Red, Type = ChoiceType.Pick, }); }); AddStep("create bar", () => Child = songBar = new SongBar { RelativeSizeAxes = Axes.X, Anchor = Anchor.Centre, Origin = Anchor.Centre }); AddUntilStep("wait for loaded", () => songBar.IsLoaded); } [Test] public void TestSongBar() { AddStep("set beatmap", () => { var beatmap = CreateAPIBeatmap(Ruleset.Value); beatmap.CircleSize = 3.4f; beatmap.ApproachRate = 6.8f; beatmap.OverallDifficulty = 5.5f; beatmap.StarRating = 4.56f; beatmap.DrainRate = 1.23f; beatmap.Length = 123456; beatmap.BPM = 133; beatmap.OnlineID = ladderBeatmap.OnlineID; songBar.Beatmap = new TournamentBeatmap(beatmap); }); AddStep("set mods to HR", () => songBar.Mods = LegacyMods.HardRock); AddStep("set mods to DT", () => songBar.Mods = LegacyMods.DoubleTime); AddStep("set mods to HDHRDT", () => songBar.Mods = LegacyMods.Hidden | LegacyMods.HardRock | LegacyMods.DoubleTime); AddStep("unset mods", () => songBar.Mods = LegacyMods.None); AddToggleStep("toggle expanded", expanded => songBar.Expanded = expanded); AddStep("set null beatmap", () => songBar.Beatmap = null); AddStep("set ruleset to osu", () => Ruleset.Value = new OsuRuleset().RulesetInfo); AddStep("set ruleset to taiko", () => Ruleset.Value = new TaikoRuleset().RulesetInfo); AddStep("set ruleset to catch", () => Ruleset.Value = new CatchRuleset().RulesetInfo); AddStep("set ruleset to mania", () => Ruleset.Value = new ManiaRuleset().RulesetInfo); } } }