// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. #nullable disable using osu.Game.Overlays.Comments.Buttons; using osu.Framework.Graphics; using osu.Framework.Allocation; using osu.Game.Overlays; using osu.Framework.Graphics.Containers; using osuTK; using NUnit.Framework; using System.Linq; using osu.Framework.Graphics.Sprites; using osu.Framework.Testing; namespace osu.Game.Tests.Visual.UserInterface { public class TestSceneCommentRepliesButton : OsuTestScene { [Cached] private readonly OverlayColourProvider colourProvider = new OverlayColourProvider(OverlayColourScheme.Blue); private readonly TestButton button; public TestSceneCommentRepliesButton() { Child = new FillFlowContainer { Anchor = Anchor.Centre, Origin = Anchor.Centre, AutoSizeAxes = Axes.Both, Direction = FillDirection.Vertical, Spacing = new Vector2(0, 10), Children = new Drawable[] { button = new TestButton(), new LoadRepliesButton { Action = () => { } }, new ShowRepliesButton(1), new ShowRepliesButton(2) } }; } [Test] public void TestArrowDirection() { AddStep("Set upwards", () => button.SetIconDirection(true)); AddAssert("Icon facing upwards", () => button.Icon.Scale.Y == -1); AddStep("Set downwards", () => button.SetIconDirection(false)); AddAssert("Icon facing downwards", () => button.Icon.Scale.Y == 1); } private class TestButton : CommentRepliesButton { public SpriteIcon Icon => this.ChildrenOfType().First(); public TestButton() { Text = "sample text"; } public new void SetIconDirection(bool upwards) => base.SetIconDirection(upwards); } } }