Пример #1
0
        public void QuitgameHostTest()
        {
            var firstCount = GameAccess.GetAllGames().Count;
            var game       = GameAccess.CreateGame(DefaultGame);

            GameAccess.QuitGame(game.HashId);

            var secondCount = GameAccess.GetAllGames().Count;

            Assert.AreEqual(firstCount, secondCount);
        }
Пример #2
0
        public void QuitGameNotExistTest()
        {
            var game = GameAccess.CreateGame(DefaultGame);

            try
            {
                GameAccess.QuitGame(game.HashId + 1);
                Assert.Fail();
            }
            catch { }
            GameAccess.DeleteGame(game.HashId);
        }
Пример #3
0
        public void DisconnectAndReconnectTest()
        {
            FrontEndAccess.UserToken.Token = Token;
            var game = GameAccess.CreateGame(DefaultGame);

            try
            {
                //Other player
                FrontEndAccess.UserToken.Token = OtherUserToken;
                GameAccess.JoinGame(game.HashId);

                // Since the game is not starter should not be puit  disconnect
                GameAccess.QuitGame(game.HashId);
                game = GameAccess.GetGameInfo(game.HashId);
                Assert.AreEqual(1, game.CurrentPlayerCount);
                Assert.AreEqual(1, game.ParticipantsHashId.Count);
                Assert.AreEqual(0, game.DisconnectedHashId.Count);

                //Other player join again
                GameAccess.JoinGame(game.HashId);

                // Host start the game
                FrontEndAccess.UserToken.Token = Token;
                GameAccess.StartGame(game.HashId);

                //Other player disconnect
                FrontEndAccess.UserToken.Token = OtherUserToken;
                GameAccess.QuitGame(game.HashId);

                // Should be in the disconnect list
                game = GameAccess.GetGameInfo(game.HashId);
                Assert.AreEqual(1, game.CurrentPlayerCount);
                Assert.AreEqual(1, game.ParticipantsHashId.Count);
                Assert.AreEqual(1, game.DisconnectedHashId.Count);

                // SHould be able to reconnect
                GameAccess.ReconnectGame(game.HashId);
                game = GameAccess.GetGameInfo(game.HashId);
                Assert.AreEqual(2, game.CurrentPlayerCount);
                Assert.AreEqual(2, game.ParticipantsHashId.Count);
                Assert.AreEqual(0, game.DisconnectedHashId.Count);
            }
            catch (Exception)
            {
            }
            finally
            {
                FrontEndAccess.UserToken.Token = Token;
                GameAccess.DeleteGame(game.HashId);
            }
        }
Пример #4
0
        public void SpectateTest()
        {
            FrontEndAccess.UserToken.Token = Token;
            var game = GameAccess.CreateGame(DefaultGame);

            // login as another user to spectate the game
            FrontEndAccess.UserToken.Token = OtherUserToken;

            game = GameAccess.Spectate(game.HashId);

            Assert.AreEqual(1, game.ParticipantsHashId.Count);
            Assert.AreEqual(1, game.SpectatorsHashId.Count);

            GameAccess.QuitGame(game.HashId);

            game = GameAccess.GetGameInfo(game.HashId);
            Assert.AreEqual(1, game.ParticipantsHashId.Count);
            Assert.AreEqual(0, game.SpectatorsHashId.Count);

            FrontEndAccess.UserToken.Token = Token;
            GameAccess.DeleteGame(game.HashId);
        }
Пример #5
0
        public void QuitGameTest()
        {
            var firstCount = GameAccess.GetAllGames().Count;

            FrontEndAccess.UserToken.Token = OtherUserToken;
            var game = GameAccess.CreateGame(DefaultGame);

            FrontEndAccess.UserToken.Token = Token;
            GameAccess.JoinGame(game.HashId);
            GameAccess.QuitGame(game.HashId);

            game = GameAccess.GetGameInfo(game.HashId);
            Assert.AreEqual(1, game.CurrentPlayerCount);
            Assert.AreEqual(1, game.ParticipantsHashId.Count);

            var secondCount = GameAccess.GetAllGames().Count;

            Assert.AreEqual(firstCount + 1, secondCount);

            FrontEndAccess.UserToken.Token = OtherUserToken;
            GameAccess.DeleteGame(game.HashId);
        }