コード例 #1
0
        protected override double TimePerAction => 100; // required for the early exit test, since hold-to-confirm delay is 200ms

        public TestSceneHoldToConfirmOverlay()
        {
            bool fired = false;

            var firedText = new OsuSpriteText
            {
                Anchor = Anchor.Centre,
                Origin = Anchor.Centre,
                Text   = "Fired!",
                Font   = OsuFont.GetFont(size: 50),
                Alpha  = 0,
            };

            var overlay = new TestHoldToConfirmOverlay
            {
                Action = () =>
                {
                    fired = true;
                    firedText.FadeTo(1).Then().FadeOut(1000);
                }
            };

            Children = new Drawable[]
            {
                overlay,
                firedText
            };

            AddStep("start confirming", () => overlay.Begin());
            AddStep("abort confirming", () => overlay.Abort());

            AddAssert("ensure not fired internally", () => !overlay.Fired);
            AddAssert("ensure aborted", () => !fired);

            AddStep("start confirming", () => overlay.Begin());

            AddUntilStep("wait until confirmed", () => fired);
            AddAssert("ensure fired internally", () => overlay.Fired);

            AddStep("abort after fire", () => overlay.Abort());
            AddAssert("ensure not fired internally", () => !overlay.Fired);
            AddStep("start confirming", () => overlay.Begin());
            AddUntilStep("wait until fired again", () => overlay.Fired);
        }
コード例 #2
0
        public TestCaseHoldToConfirmOverlay()
        {
            bool fired = false;

            var firedText = new OsuSpriteText
            {
                Anchor   = Anchor.Centre,
                Origin   = Anchor.Centre,
                Text     = "Fired!",
                TextSize = 50,
                Alpha    = 0,
            };

            var overlay = new TestHoldToConfirmOverlay
            {
                Action = () =>
                {
                    fired = true;
                    firedText.FadeTo(1).Then().FadeOut(1000);
                }
            };

            Children = new Drawable[]
            {
                overlay,
                firedText
            };

            AddStep("start confirming", () => overlay.Begin());
            AddStep("abort confirming", () => overlay.Abort());

            AddAssert("ensure aborted", () => !fired);

            AddStep("start confirming", () => overlay.Begin());

            AddUntilStep(() => fired, "wait until confirmed");
        }