Example #1
0
        public void CreatePrivateGameParametersTest()
        {
            // create a basic game
            var game = GameAccess.CreateGame(DefaultGame.Name, DefaultGame.MaxPlayersCount, DefaultGame.ZonesHashId, "1");

            GameAccess.DeleteGame(game.HashId);
        }
Example #2
0
        public void DeleteOtherPlayerGameTest()
        {
            // create new user and game
            var userToken = "";

            try
            {
                userToken = UserAccess.Register(DefaultUser.Username + "1", DefaultUser.Password);
            }
            catch
            {
                userToken = UserAccess.Login(DefaultUser.Username + "1", DefaultUser.Password);
            }

            UserAccess.DeleteUser();
            var game = GameAccess.CreateGame(DefaultGame);

            try
            {
                // login as default user
                UserAccess.Login(DefaultUser.Username, DefaultUser.Password);
                GameAccess.DeleteGame(game.HashId);
                Assert.Fail();
            }
            catch
            {
                // login as good user to delete game
                FrontEndAccess.UserToken.Token = userToken;
                GameAccess.DeleteGame(game.HashId);
            }
        }
Example #3
0
        public void StartGameTest()
        {
            var game = GameAccess.CreateGame(DefaultGame);

            GameAccess.StartGame(game.HashId);
            GameAccess.DeleteGame(game.HashId);
        }
Example #4
0
        public GameAccessTests()
        {
            var mockAccess = new Mock <IGameAccess>();

            mockClient = new Mock <IApiClient>();
            access     = new GameAccess(mockClient.Object);
        }
        public static void Main()
        {
            GameAccess game = null;

            game = new GameAccess();
            game.Run();
        }
Example #6
0
        public void CreateGameTest()
        {
            // create a basic game
            var game = GameAccess.CreateGame(DefaultGame);

            Assert.AreEqual(JwtHelper.DecodeToken(Token).UserId, game.HostHashId);
            GameAccess.DeleteGame(game.HashId);
        }
Example #7
0
        public void GetInfoOnGameTest()
        {
            // create game
            var game     = GameAccess.CreateGame(DefaultGame);
            var gameInfo = GameAccess.GetGameInfo(game.HashId);

            Assert.AreEqual(game.ParticipantsHashId[0], gameInfo.ParticipantsHashId[0]);
        }
 protected void DealToPlayers(Dealer dealer, Deck deck)
 {
     //loop to deal cards to each player
     foreach (Player player in AllPlayers)
     {
         dealer.DealToPlayer(player, deck);
         GameAccess.UpdateThenGetPlayerCardsByName(player.Name, player.InHand1.Face.ToString(), player.InHand1.Suit.ToString(), player.InHand2.Face.ToString(), player.InHand2.Suit.ToString());
     }
 }
Example #9
0
        public void CreatePrivateGameWithPassTest()
        {
            // create a private game with password
            DefaultGame.Password  = "******";
            DefaultGame.IsPrivate = true;
            var game = GameAccess.CreateGame(DefaultGame);

            GameAccess.DeleteGame(game.HashId);
        }
Example #10
0
 public void StartGameNoGameHashTest()
 {
     try
     {
         GameAccess.StartGame("");
     }
     catch
     {
     }
 }
Example #11
0
 public void StartGameWrongGameHashTest()
 {
     try
     {
         GameAccess.StartGame("sdd9d8s88asd9dmas9d");
     }
     catch
     {
     }
 }
Example #12
0
 public void JoinEmptyStringGameTest()
 {
     try
     {
         GameAccess.JoinGame("");
         Assert.Fail();
     }
     catch
     {
     }
 }
Example #13
0
        public void DeleteGameTest()
        {
            var firstCount = GameAccess.GetAllGames().Count;
            // create game
            var game = GameAccess.CreateGame(DefaultGame);

            GameAccess.DeleteGame(game.HashId);
            var secondCount = GameAccess.GetAllGames().Count;

            Assert.AreEqual(firstCount, secondCount);
        }
Example #14
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);
        }
Example #15
0
 public void JoinNonExistingGameTest()
 {
     try
     {
         GameAccess.JoinGame("asd9d0sa00dasmmdsq");
         Assert.Fail();
     }
     catch
     {
     }
 }
Example #16
0
        public void OnReceiveMsg(AddGameMsgOrder addGameMsgOrder)
        {
            //根据id添加游戏
            this.AllGames.Add(new GameViewModel(GameAccess.GetGame(addGameMsgOrder.GameId, addGameMsgOrder.GameTime), this.moduleManager, this.addgame_Aggregator, this));

            send_Aggregator.GetEvent <SendMsgEvent>().Publish(MessageTypes.AGA + addGameMsgOrder.GameId);

            //ReceiveMsgEvent msgEvent = receive_Aggregator.GetEvent<ReceiveMsgEvent>();

            //if (subscriptionToken != null)
            //    msgEvent.Unsubscribe(subscriptionToken);
        }
Example #17
0
        public void QuitGameNotExistTest()
        {
            var game = GameAccess.CreateGame(DefaultGame);

            try
            {
                GameAccess.QuitGame(game.HashId + 1);
                Assert.Fail();
            }
            catch { }
            GameAccess.DeleteGame(game.HashId);
        }
Example #18
0
        public async Task StaticCreateSavesGameResultsInternally()
        {
            HttpResponseMessage createdResponse = new HttpResponseMessage(HttpStatusCode.OK);

            createdResponse.Content = new StringContent("{\"game\":1, \"player\":2, \"token\":\"sometokenvalue\"}");
            mockClient.Setup(c => c.Post("/v1/brisk/game", It.IsAny <HttpContent>())).ReturnsAsync(createdResponse);

            IGameAccess actual = await GameAccess.Create(mockClient.Object, "Test Tanks");

            Assert.Equal <int>(1, actual.GameId);
            Assert.Equal("sometokenvalue", actual.Token);
            Assert.Equal <int>(2, actual.CurrentPlayer);
        }
Example #19
0
 public void CreatePrivateGameNoPassTest()
 {
     // create a private game with no password
     DefaultGame.IsPrivate = true;
     try
     {
         GameAccess.CreateGame(DefaultGame);
         Assert.Fail();
     }
     catch
     {
     }
 }
Example #20
0
 public void CreateGameNoPlayerTest()
 {
     // create a game with too much player
     try
     {
         DefaultGame.MaxPlayersCount = 0;
         GameAccess.CreateGame(DefaultGame);
         Assert.Fail();
     }
     catch
     {
     }
 }
Example #21
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);
            }
        }
Example #22
0
        public void StartStartedGameTest()
        {
            var game = GameAccess.CreateGame(DefaultGame);

            GameAccess.StartGame(game.HashId);
            try
            {
                GameAccess.StartGame(game.HashId);
                Assert.Fail();
            }
            catch
            {
            }
            GameAccess.DeleteGame(game.HashId);
        }
Example #23
0
        public void JoinGameTest()
        {
            FrontEndAccess.UserToken.Token = OtherUserToken;
            var game = GameAccess.CreateGame(DefaultGame);

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

            Assert.AreEqual(game.HashId, joinedGame.HashId);
            Assert.AreEqual(2, joinedGame.CurrentPlayerCount);
            Assert.IsTrue(joinedGame.ParticipantsHashId.Contains(CurrentUserToken.UserId));

            FrontEndAccess.UserToken.Token = OtherUserToken;
            GameAccess.DeleteGame(game.HashId);
        }
Example #24
0
        public void JoinAGameYouAlreadyAreInTest()
        {
            var game = GameAccess.CreateGame(DefaultGame);

            try
            {
                GameAccess.JoinGame(game.HashId);
                Assert.Fail();
            }
            catch
            {
            }

            GameAccess.DeleteGame(game.HashId);
        }
Example #25
0
        public static async Task GrantUserAccessToGame(this ApplicationDbContext _context, Game game, string UserID, bool AutoSave = false)
        {
            GameAccess newAccess = new GameAccess();

            newAccess.game   = game;
            newAccess.UserID = UserID;
            //newAccess.UserName = GetUserName(UserID);
            //newAccess.EndTime = DateTime.UtcNow + new TimeSpan();

            _context.Add(newAccess);

            if (AutoSave)
            {
                await _context.SaveChangesAsync();
            }
        }
Example #26
0
        public void DeleteInvalidGameTest()
        {
            var game        = GameAccess.CreateGame(DefaultGame);
            var oldGamehash = game.HashId;

            try
            {
                game.HashId += "1";
                GameAccess.DeleteGame(game.HashId);
                Assert.Fail();
            }
            catch
            {
                game.HashId = oldGamehash;
                GameAccess.DeleteGame(game.HashId);
            }
        }
Example #27
0
        public void StartGameNotHostTest()
        {
            // create a basic game
            var game = GameAccess.CreateGame(DefaultGame);

            try
            {
                FrontEndAccess.UserToken.Token = OtherUserToken;
                GameAccess.StartGame(game.HashId);
                Assert.Fail();
            }
            catch (Exception)
            {
            }
            FrontEndAccess.UserToken.Token = Token;
            GameAccess.DeleteGame(game.HashId);
        }
Example #28
0
        public void JoinFullGameTest()
        {
            FrontEndAccess.UserToken.Token = OtherUserToken;
            DefaultGame.MaxPlayersCount    = 1;
            var game = GameAccess.CreateGame(DefaultGame);

            try
            {
                FrontEndAccess.UserToken.Token = Token;
                GameAccess.JoinGame(game.HashId);
                Assert.Fail();
            }
            catch
            {
            }
            FrontEndAccess.UserToken.Token = OtherUserToken;
            GameAccess.DeleteGame(game.HashId);
        }
Example #29
0
        public async static Task run(HttpClient client)
        {
            IApiClient  apiClient = new ApiClient(client);
            IGameAccess newAccess = await GameAccess.Create(apiClient, "Pinky and the Brain");

            WarRoom board = new WarRoom(newAccess);

            Console.WriteLine($"Game: {newAccess.GameId}");

            int waitCount = 0;

            while (waitCount < 10)
            {
                TurnStatus state = await board.TakeTurn();

                switch (state)
                {
                case TurnStatus.TookTurn:
                    Console.WriteLine("And so my watch has ended (for now)");
                    waitCount = 0;
                    break;

                case TurnStatus.Waiting:
                    Console.WriteLine("Waits patiently...");
                    waitCount++;
                    break;

                case TurnStatus.LostGame:
                    Console.WriteLine($"Valar Morghulis");
                    return;

                case TurnStatus.WonGame:
                    Console.WriteLine($"Hail to the King!");
                    return;

                default:
                    Console.WriteLine("Status Unavailable");
                    break;
                }

                Thread.Sleep(1000); //optimize
            }
        }
Example #30
0
        public void JoinPrivateGameWrongPassTest()
        {
            FrontEndAccess.UserToken.Token = OtherUserToken;
            DefaultGame.IsPrivate          = true;
            DefaultGame.Password           = "******";
            var game = GameAccess.CreateGame(DefaultGame);

            try
            {
                FrontEndAccess.UserToken.Token = Token;
                GameAccess.JoinGame(game.HashId, DefaultGame.Password + "1");
                Assert.Fail();
            }
            catch
            {
            }
            FrontEndAccess.UserToken.Token = OtherUserToken;
            GameAccess.DeleteGame(game.HashId);
        }