示例#1
0
        public void TestPlayingUserTracking()
        {
            int id = 2000;

            AddRepeatStep("add some users", () => MultiplayerClient.AddUser(new APIUser {
                Id = id++
            }), 5);
            checkPlayingUserCount(0);

            changeState(3, MultiplayerUserState.WaitingForLoad);
            checkPlayingUserCount(3);

            changeState(3, MultiplayerUserState.Playing);
            checkPlayingUserCount(3);

            changeState(3, MultiplayerUserState.Results);
            checkPlayingUserCount(0);

            changeState(6, MultiplayerUserState.WaitingForLoad);
            checkPlayingUserCount(6);

            AddStep("another user left", () => MultiplayerClient.RemoveUser((MultiplayerClient.Room?.Users.Last().User).AsNonNull()));
            checkPlayingUserCount(5);

            AddStep("leave room", () => MultiplayerClient.LeaveRoom());
            checkPlayingUserCount(0);
        }
 public void TestUserQuit()
 {
     foreach (int user in users)
     {
         AddStep($"mark user {user} quit", () => MultiplayerClient.RemoveUser(UserLookupCache.GetUserAsync(user).GetResultSafely().AsNonNull()));
     }
 }
示例#3
0
        public void TestMultipleUsers()
        {
            AddStep("add users", () =>
            {
                MultiplayerClient.AddUser(new APIUser
                {
                    Id         = 2,
                    Statistics = { GlobalRank = 1234 }
                });

                MultiplayerClient.AddUser(new APIUser
                {
                    Id         = 3,
                    Statistics = { GlobalRank = 3333 }
                });

                MultiplayerClient.AddUser(new APIUser
                {
                    Id         = 4,
                    Statistics = { GlobalRank = 4321 }
                });

                // Remove the local user so only the ones above are displayed.
                MultiplayerClient.RemoveUser(API.LocalUser.Value);
            });
        }
示例#4
0
        public void TestUserRemovedOnLeave()
        {
            var user = new APIUser {
                Id = 44
            };

            AddStep("add user", () => MultiplayerClient.AddUser(user));
            AddAssert("room has 2 users", () => MultiplayerClient.Room?.Users.Count == 2);

            AddRepeatStep("remove user multiple times", () => MultiplayerClient.RemoveUser(user), 3);
            AddAssert("room has 1 user", () => MultiplayerClient.Room?.Users.Count == 1);
        }
示例#5
0
        public void TestSingleUser()
        {
            AddStep("add user", () =>
            {
                MultiplayerClient.AddUser(new APIUser
                {
                    Id         = 2,
                    Statistics = { GlobalRank = 1234 }
                });

                // Remove the local user so only the one above is displayed.
                MultiplayerClient.RemoveUser(API.LocalUser.Value);
            });
        }
        public void TestRemoveUser()
        {
            APIUser secondUser = null;

            AddStep("add a user", () =>
            {
                MultiplayerClient.AddUser(secondUser = new APIUser
                {
                    Id       = 3,
                    Username = "******",
                    CoverUrl = @"https://osu.ppy.sh/images/headers/profile-covers/c3.jpg",
                });
            });

            AddStep("remove host", () => MultiplayerClient.RemoveUser(API.LocalUser.Value));

            AddAssert("single panel is for second user", () => this.ChildrenOfType <ParticipantPanel>().Single().User.User == secondUser);
        }
示例#7
0
        public void TestRange(int min, int max)
        {
            AddStep("add users", () =>
            {
                MultiplayerClient.AddUser(new APIUser
                {
                    Id         = 2,
                    Statistics = { GlobalRank = min }
                });

                MultiplayerClient.AddUser(new APIUser
                {
                    Id         = 3,
                    Statistics = { GlobalRank = max }
                });

                // Remove the local user so only the ones above are displayed.
                MultiplayerClient.RemoveUser(API.LocalUser.Value);
            });
        }