public void TestNextPlaylistItemSelectedAfterCompletion() { AddStep("add two playlist items", () => { SelectedRoom.Value.Playlist.AddRange(new[] { new PlaylistItem(beatmaps.GetWorkingBeatmap(importedSet.Beatmaps.First()).BeatmapInfo) { RulesetID = new OsuRuleset().RulesetInfo.OnlineID }, new PlaylistItem(beatmaps.GetWorkingBeatmap(importedSet.Beatmaps.First()).BeatmapInfo) { RulesetID = new OsuRuleset().RulesetInfo.OnlineID } }); }); ClickButtonWhenEnabled <MultiplayerMatchSettingsOverlay.CreateOrUpdateButton>(); AddUntilStep("wait for join", () => RoomJoined); ClickButtonWhenEnabled <MultiplayerReadyButton>(); ClickButtonWhenEnabled <MultiplayerReadyButton>(); AddStep("change user to loaded", () => MultiplayerClient.ChangeState(MultiplayerUserState.Loaded)); AddUntilStep("user playing", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.Playing); AddStep("abort gameplay", () => MultiplayerClient.AbortGameplay()); AddUntilStep("last playlist item selected", () => { var lastItem = this.ChildrenOfType <DrawableRoomPlaylistItem>().Single(p => p.Item.ID == MultiplayerClient.APIRoom?.Playlist.Last().ID); return(lastItem.IsSelectedItem); }); }