public void TestLobbyCountAfterRemovingInactivePlayerBreak() { if (this.connectPolicy.IsOnline) { Assert.Ignore("This is an offline test"); } if (string.IsNullOrEmpty(this.Player1)) { Assert.Ignore("this tests requires userId to be set"); } Thread.Sleep(1000);// to finish everything from perv tests var connPolicy = (OfflineConnectPolicy)this.connectPolicy; var masterServer = (ITestMasterApplication)connPolicy.MasterServer.Application; masterServer.ResetStats(); UnifiedTestClient masterClient1 = null; UnifiedTestClient masterClient2 = null; UnifiedTestClient masterClient3 = null; try { string roomName = this.GenerateRandomizedRoomName(MethodBase.GetCurrentMethod().Name); masterClient1 = this.CreateMasterClientAndAuthenticate(this.Player1); var createGameRequest = new CreateGameRequest { GameId = roomName, PlayerTTL = 3000, CheckUserOnJoin = !string.IsNullOrEmpty(this.Player1), }; var createGameResponse = masterClient1.CreateGame(createGameRequest); this.ConnectAndAuthenticate(masterClient1, createGameResponse.Address); //createGameRequest.AddUsers = new string[] { "Player3", "Player5", "Player6", "Player7" }; masterClient1.CreateGame(createGameRequest); Thread.Sleep(300); masterClient2 = this.CreateMasterClientAndAuthenticate(this.Player2); masterClient3 = this.CreateMasterClientAndAuthenticate(this.Player3); var response = masterClient2.JoinGame(roomName, ErrorCode.Ok); masterClient3.JoinGame(roomName, ErrorCode.Ok); this.ConnectAndAuthenticate(masterClient3, response.Address); masterClient3.JoinGame(roomName, ErrorCode.Ok); Thread.Sleep(300); masterClient3.Disconnect(); Thread.Sleep(4000); masterClient1.Disconnect(); Thread.Sleep(1000); this.ConnectAndAuthenticate(masterClient2, this.MasterAddress); var getLobbyStatsResponse = masterClient2.GetLobbyStats(null, null); masterClient2.Disconnect(); Assert.That(getLobbyStatsResponse.PeerCount[0], Is.EqualTo(0)); } finally { DisposeClients(masterClient1, masterClient2, masterClient3); } }