mirror of
https://github.com/osukey/osukey.git
synced 2025-07-03 17:29:56 +09:00
Centralise creation of playlist in test scene
This commit is contained in:
@ -245,14 +245,10 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
[Test]
|
[Test]
|
||||||
public void TestExpiredItems()
|
public void TestExpiredItems()
|
||||||
{
|
{
|
||||||
AddStep("create playlist", () =>
|
createPlaylist(p =>
|
||||||
{
|
{
|
||||||
Child = playlist = new TestPlaylist
|
p.Items.Clear();
|
||||||
{
|
p.Items.AddRange(new[]
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
Size = new Vector2(500, 300),
|
|
||||||
Items =
|
|
||||||
{
|
{
|
||||||
new PlaylistItem(new TestBeatmap(new OsuRuleset().RulesetInfo).BeatmapInfo)
|
new PlaylistItem(new TestBeatmap(new OsuRuleset().RulesetInfo).BeatmapInfo)
|
||||||
{
|
{
|
||||||
@ -277,8 +273,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
new APIMod(new OsuModAutoplay())
|
new APIMod(new OsuModAutoplay())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
};
|
|
||||||
});
|
});
|
||||||
|
|
||||||
AddUntilStep("wait for items to load", () => playlist.ItemMap.Values.All(i => i.IsLoaded));
|
AddUntilStep("wait for items to load", () => playlist.ItemMap.Values.All(i => i.IsLoaded));
|
||||||
@ -321,6 +316,29 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
=> AddAssert($"delete button {index} {(visible ? "is" : "is not")} visible",
|
=> AddAssert($"delete button {index} {(visible ? "is" : "is not")} visible",
|
||||||
() => (playlist.ChildrenOfType<DrawableRoomPlaylistItem.PlaylistRemoveButton>().ElementAt(2 + index * 2).Alpha > 0) == visible);
|
() => (playlist.ChildrenOfType<DrawableRoomPlaylistItem.PlaylistRemoveButton>().ElementAt(2 + index * 2).Alpha > 0) == visible);
|
||||||
|
|
||||||
|
private void createPlaylistWithBeatmaps(Func<IEnumerable<IBeatmapInfo>> beatmaps) => createPlaylist(p =>
|
||||||
|
{
|
||||||
|
int index = 0;
|
||||||
|
|
||||||
|
p.Items.Clear();
|
||||||
|
|
||||||
|
foreach (var b in beatmaps())
|
||||||
|
{
|
||||||
|
p.Items.Add(new PlaylistItem(b)
|
||||||
|
{
|
||||||
|
ID = index++,
|
||||||
|
OwnerID = 2,
|
||||||
|
RulesetID = new OsuRuleset().RulesetInfo.OnlineID,
|
||||||
|
RequiredMods = new[]
|
||||||
|
{
|
||||||
|
new APIMod(new OsuModHardRock()),
|
||||||
|
new APIMod(new OsuModDoubleTime()),
|
||||||
|
new APIMod(new OsuModAutoplay())
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
private void createPlaylist(Action<TestPlaylist> setupPlaylist = null)
|
private void createPlaylist(Action<TestPlaylist> setupPlaylist = null)
|
||||||
{
|
{
|
||||||
AddStep("create playlist", () =>
|
AddStep("create playlist", () =>
|
||||||
@ -332,8 +350,6 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
Size = new Vector2(500, 300)
|
Size = new Vector2(500, 300)
|
||||||
};
|
};
|
||||||
|
|
||||||
setupPlaylist?.Invoke(playlist);
|
|
||||||
|
|
||||||
for (int i = 0; i < 20; i++)
|
for (int i = 0; i < 20; i++)
|
||||||
{
|
{
|
||||||
playlist.Items.Add(new PlaylistItem(i % 2 == 1
|
playlist.Items.Add(new PlaylistItem(i % 2 == 1
|
||||||
@ -360,39 +376,8 @@ namespace osu.Game.Tests.Visual.Multiplayer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
AddUntilStep("wait for items to load", () => playlist.ItemMap.Values.All(i => i.IsLoaded));
|
setupPlaylist?.Invoke(playlist);
|
||||||
}
|
|
||||||
|
|
||||||
private void createPlaylistWithBeatmaps(Func<IEnumerable<IBeatmapInfo>> beatmaps)
|
|
||||||
{
|
|
||||||
AddStep("create playlist", () =>
|
|
||||||
{
|
|
||||||
Child = playlist = new TestPlaylist
|
|
||||||
{
|
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
Size = new Vector2(500, 300)
|
|
||||||
};
|
|
||||||
|
|
||||||
int index = 0;
|
|
||||||
|
|
||||||
foreach (var b in beatmaps())
|
|
||||||
{
|
|
||||||
playlist.Items.Add(new PlaylistItem(b)
|
|
||||||
{
|
|
||||||
ID = index++,
|
|
||||||
OwnerID = 2,
|
|
||||||
RulesetID = new OsuRuleset().RulesetInfo.OnlineID,
|
|
||||||
RequiredMods = new[]
|
|
||||||
{
|
|
||||||
new APIMod(new OsuModHardRock()),
|
|
||||||
new APIMod(new OsuModDoubleTime()),
|
|
||||||
new APIMod(new OsuModAutoplay())
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
AddUntilStep("wait for items to load", () => playlist.ItemMap.Values.All(i => i.IsLoaded));
|
AddUntilStep("wait for items to load", () => playlist.ItemMap.Values.All(i => i.IsLoaded));
|
||||||
|
Reference in New Issue
Block a user