// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Collections.Generic; using System.Linq; using NUnit.Framework; using osu.Framework.Bindables; using osu.Framework.Testing; using osu.Game.Beatmaps; using osu.Game.Beatmaps.ControlPoints; using osu.Game.Rulesets.Mania.Objects; using osu.Game.Rulesets.Mania.Objects.Drawables; namespace osu.Game.Rulesets.Mania.Tests.Skinning { public class TestSceneHoldNote : ManiaHitObjectTestScene { [Test] public void TestHoldNote() { AddToggleStep("toggle hitting", v => { foreach (var holdNote in CreatedDrawables.SelectMany(d => d.ChildrenOfType())) { ((Bindable)holdNote.IsHitting).Value = v; } }); } [Test] public void TestFadeOnMiss() { AddStep("miss tick", () => { foreach (var holdNote in holdNotes) holdNote.ChildrenOfType().First().MissForcefully(); }); } private IEnumerable holdNotes => CreatedDrawables.SelectMany(d => d.ChildrenOfType()); protected override DrawableManiaHitObject CreateHitObject() { var note = new HoldNote { Duration = 1000 }; note.ApplyDefaults(new ControlPointInfo(), new BeatmapDifficulty()); return new DrawableHoldNote(note); } } }