// 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.Allocation; using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Game.Online.API; using osu.Game.Online.API.Requests; using osu.Game.Overlays.Profile.Header.Components; using osu.Game.Users; namespace osu.Game.Tests.Visual.Online { [TestFixture] public class TestSceneUserProfilePreviousUsernames : OsuTestScene { public override IReadOnlyList RequiredTypes => new[] { typeof(PreviousUsernames) }; [Resolved] private IAPIProvider api { get; set; } private readonly Bindable user = new Bindable(); public TestSceneUserProfilePreviousUsernames() { Child = new PreviousUsernames { Anchor = Anchor.Centre, Origin = Anchor.Centre, User = { BindTarget = user }, }; User[] users = { new User { PreviousUsernames = new[] { "username1" } }, new User { PreviousUsernames = new[] { "longusername", "longerusername" } }, new User { PreviousUsernames = new[] { "test", "angelsim", "verylongusername" } }, new User { PreviousUsernames = new[] { "ihavenoidea", "howcani", "makethistext", "anylonger" } }, new User { PreviousUsernames = Array.Empty() }, null }; AddStep("single username", () => user.Value = users[0]); AddStep("two usernames", () => user.Value = users[1]); AddStep("three usernames", () => user.Value = users[2]); AddStep("four usernames", () => user.Value = users[3]); AddStep("no username", () => user.Value = users[4]); AddStep("null user", () => user.Value = users[5]); } protected override void LoadComplete() { base.LoadComplete(); AddStep("online user (Angelsim)", () => { var request = new GetUserRequest(1777162); request.Success += user => this.user.Value = user; api.Queue(request); }); } } }