mirror of
https://github.com/osukey/osukey.git
synced 2025-07-01 16:29:58 +09:00
Add test for non-present preview tracks
To avoid reverting what #6738 solved
This commit is contained in:
@ -7,6 +7,7 @@ using osu.Framework.Audio.Track;
|
|||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Game.Audio;
|
using osu.Game.Audio;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
|
using static osu.Game.Tests.Visual.Components.TestScenePreviewTrackManager.TestPreviewTrackManager;
|
||||||
|
|
||||||
namespace osu.Game.Tests.Visual.Components
|
namespace osu.Game.Tests.Visual.Components
|
||||||
{
|
{
|
||||||
@ -91,9 +92,25 @@ namespace osu.Game.Tests.Visual.Components
|
|||||||
AddAssert("stopped", () => !track.IsRunning);
|
AddAssert("stopped", () => !track.IsRunning);
|
||||||
}
|
}
|
||||||
|
|
||||||
private PreviewTrack getTrack() => trackManager.Get(null);
|
[Test]
|
||||||
|
public void TestNonPresentTrack()
|
||||||
|
{
|
||||||
|
TestPreviewTrack track = null;
|
||||||
|
|
||||||
private PreviewTrack getOwnedTrack()
|
AddStep("get non-present track", () =>
|
||||||
|
{
|
||||||
|
Add(new TestTrackOwner(track = getTrack()));
|
||||||
|
track.Alpha = 0;
|
||||||
|
});
|
||||||
|
AddUntilStep("wait loaded", () => track.IsLoaded);
|
||||||
|
AddStep("start", () => track.Start());
|
||||||
|
AddStep("seek to end", () => track.Track.Seek(track.Track.Length));
|
||||||
|
AddAssert("track stopped", () => !track.IsRunning);
|
||||||
|
}
|
||||||
|
|
||||||
|
private TestPreviewTrack getTrack() => (TestPreviewTrack)trackManager.Get(null);
|
||||||
|
|
||||||
|
private TestPreviewTrack getOwnedTrack()
|
||||||
{
|
{
|
||||||
var track = getTrack();
|
var track = getTrack();
|
||||||
|
|
||||||
@ -125,14 +142,16 @@ namespace osu.Game.Tests.Visual.Components
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class TestPreviewTrackManager : PreviewTrackManager
|
public class TestPreviewTrackManager : PreviewTrackManager
|
||||||
{
|
{
|
||||||
protected override TrackManagerPreviewTrack CreatePreviewTrack(BeatmapSetInfo beatmapSetInfo, ITrackStore trackStore) => new TestPreviewTrack(beatmapSetInfo, trackStore);
|
protected override TrackManagerPreviewTrack CreatePreviewTrack(BeatmapSetInfo beatmapSetInfo, ITrackStore trackStore) => new TestPreviewTrack(beatmapSetInfo, trackStore);
|
||||||
|
|
||||||
protected class TestPreviewTrack : TrackManagerPreviewTrack
|
public class TestPreviewTrack : TrackManagerPreviewTrack
|
||||||
{
|
{
|
||||||
private readonly ITrackStore trackManager;
|
private readonly ITrackStore trackManager;
|
||||||
|
|
||||||
|
public new Track Track => base.Track;
|
||||||
|
|
||||||
public TestPreviewTrack(BeatmapSetInfo beatmapSetInfo, ITrackStore trackManager)
|
public TestPreviewTrack(BeatmapSetInfo beatmapSetInfo, ITrackStore trackManager)
|
||||||
: base(beatmapSetInfo, trackManager)
|
: base(beatmapSetInfo, trackManager)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user