示例#1
0
        public void TestInsertedItemDoesNotRefreshAllOthers()
        {
            AddStep("change to round robin queue mode", () => MultiplayerClient.ChangeSettings(new MultiplayerRoomSettings {
                QueueMode = QueueMode.AllPlayersRoundRobin
            }).WaitSafely());

            // Add a few items for the local user.
            addItemStep();
            addItemStep();
            addItemStep();
            addItemStep();
            addItemStep();

            DrawableRoomPlaylistItem[] drawableItems = null;
            AddStep("get drawable items", () => drawableItems = this.ChildrenOfType <DrawableRoomPlaylistItem>().ToArray());

            // Add 1 item for another user.
            AddStep("join second user", () => MultiplayerClient.AddUser(new APIUser {
                Id = 10
            }));
            addItemStep(userId: 10);

            // New item inserted towards the top of the list.
            assertItemInQueueListStep(7, 1);
            AddAssert("all previous playlist items remained", () => drawableItems.All(this.ChildrenOfType <DrawableRoomPlaylistItem>().Contains));
        }
示例#2
0
        public void TestSettingsUpdatedWhenChangingQueueMode()
        {
            AddStep("change queue mode", () => MultiplayerClient.ChangeSettings(new MultiplayerRoomSettings
            {
                QueueMode = QueueMode.AllPlayers
            }).WaitSafely());

            AddUntilStep("api room updated", () => MultiplayerClient.APIRoom?.QueueMode.Value == QueueMode.AllPlayers);
        }
        public void TestClickingReadyButtonUnReadiesDuringAutoStart()
        {
            AddStep("enable auto start", () => MultiplayerClient.ChangeSettings(new MultiplayerRoomSettings {
                AutoStartDuration = TimeSpan.FromMinutes(1)
            }).WaitSafely());
            ClickButtonWhenEnabled <MultiplayerReadyButton>();
            AddUntilStep("local user became ready", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.Ready);

            ClickButtonWhenEnabled <MultiplayerReadyButton>();
            AddUntilStep("local user became idle", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.Idle);
        }
示例#4
0
        public new void SetUpSteps()
        {
            AddStep("import beatmap", () =>
            {
                beatmaps.Import(TestResources.GetQuickTestBeatmapForImport()).WaitSafely();
                importedSet     = beatmaps.GetAllUsableBeatmapSets().First();
                importedBeatmap = importedSet.Beatmaps.First(b => b.Ruleset.OnlineID == 0);
            });

            AddStep("change to all players mode", () => MultiplayerClient.ChangeSettings(new MultiplayerRoomSettings {
                QueueMode = QueueMode.AllPlayers
            }).WaitSafely());
        }
示例#5
0
        public void TestItemsNotClearedWhenSwitchToHostOnlyMode()
        {
            addItem(() => OtherBeatmap);
            addItem(() => InitialBeatmap);

            // Move to the "other" beatmap.
            RunGameplay();

            AddStep("change queue mode", () => MultiplayerClient.ChangeSettings(queueMode: QueueMode.HostOnly));
            AddAssert("playlist has 3 items", () => MultiplayerClient.APIRoom?.Playlist.Count == 3);
            AddAssert("item 2 is not expired", () => MultiplayerClient.APIRoom?.Playlist[1].Expired == false);
            AddAssert("current item is the other beatmap", () => MultiplayerClient.Room?.Settings.PlaylistItemId == 2);
        }
        public void TestCountdownButtonVisibilityWithAutoStartEnablement()
        {
            ClickButtonWhenEnabled <MultiplayerReadyButton>();
            AddUntilStep("local user became ready", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.Ready);
            AddUntilStep("countdown button visible", () => this.ChildrenOfType <MultiplayerCountdownButton>().Single().IsPresent);

            AddStep("enable auto start", () => MultiplayerClient.ChangeSettings(new MultiplayerRoomSettings {
                AutoStartDuration = TimeSpan.FromMinutes(1)
            }).WaitSafely());

            ClickButtonWhenEnabled <MultiplayerReadyButton>();
            AddUntilStep("local user became ready", () => MultiplayerClient.LocalUser?.State == MultiplayerUserState.Ready);
            AddUntilStep("countdown button not visible", () => !this.ChildrenOfType <MultiplayerCountdownButton>().Single().IsPresent);
        }