Exemplo n.º 1
0
        public void Filter_Player1NotNull_Player1HasAlreadyPlayed_Player2NotNull_Player2HasAlreadyPlayed_Player1Wins_ScissorsPaper()
        {
            // Arrange
            string player1Name = "John";
            Move   player1Move = Move.Scissors;
            string player2Name = "Jack";
            Move   player2Move = Move.Paper;
            Player player2     = new Player(player2Name)
            {
                Move = player2Move
            };
            Game game = new Game(player1Name)
            {
                Player2 = player2
            };

            game.Player1.Move = player1Move;

            // Act
            FilteredGame filteredGame = game.Filter();

            // Assert
            Assert.AreEqual(game.ID, filteredGame.ID);
            Assert.AreEqual($"{player1Name} wins the game.", filteredGame.Information);
            Assert.AreEqual(player1Name, filteredGame.Player1.Name);
            Assert.AreEqual(player1Move.ToString(), filteredGame.Player1.Move);
            Assert.AreEqual(player2Name, filteredGame.Player2.Name);
            Assert.AreEqual(player2Move.ToString(), filteredGame.Player2.Move);
        }
Exemplo n.º 2
0
        public void Filter_Player1NotNull_Player1HasAlreadyPlayed_Player2NotNull_Player2HasAlreadyPlayed_DrawnGame()
        {
            // Arrange
            string player1Name = "John";
            Move   player1Move = Move.Rock;
            string player2Name = "Jack";
            Move   player2Move = player1Move;
            Player player2     = new Player(player2Name)
            {
                Move = player2Move
            };
            Game game = new Game(player1Name)
            {
                Player2 = player2
            };

            game.Player1.Move = player1Move;

            // Act
            FilteredGame filteredGame = game.Filter();

            // Assert
            Assert.AreEqual(game.ID, filteredGame.ID);
            Assert.AreEqual("The players played a drawn game.", filteredGame.Information);
            Assert.AreEqual(player1Name, filteredGame.Player1.Name);
            Assert.AreEqual(player1Move.ToString(), filteredGame.Player1.Move);
            Assert.AreEqual(player2Name, filteredGame.Player2.Name);
            Assert.AreEqual(player2Move.ToString(), filteredGame.Player2.Move);
        }
Exemplo n.º 3
0
        public void Filter_Player1NotNull_Player1HasntPlayed_Player2NotNull_Player2HasAlreadyPlayed()
        {
            // Arrange
            string player1Name = "John";
            string player2Name = "Jack";
            Move   player2Move = Move.Scissors;
            Player player2     = new Player(player2Name)
            {
                Move = player2Move
            };
            Game game = new Game(player1Name)
            {
                Player2 = player2
            };

            // Act
            FilteredGame filteredGame = game.Filter();

            // Assert
            Assert.AreEqual(game.ID, filteredGame.ID);
            Assert.AreEqual($"Waiting for player 1 {player1Name} to play.", filteredGame.Information);
            Assert.AreEqual(player1Name, filteredGame.Player1.Name);
            Assert.AreEqual(string.Empty, filteredGame.Player1.Move);
            Assert.AreEqual(player2Name, filteredGame.Player2.Name);
            Assert.AreEqual($"{player2Name} has already played.", filteredGame.Player2.Move);
        }
Exemplo n.º 4
0
        public void NewFilteredGame_GameIdNull_Player1Null_Player2Null()
        {
            // Arrange
            string gameId  = null;
            Player player1 = null;
            Player player2 = null;

            // Act
            FilteredGame filteredGame = new FilteredGame(gameId, player1, player2);

            // Assert
            Assert.AreEqual(string.Empty, filteredGame.ID);
            Assert.IsNotNull(filteredGame.Player1);
            Assert.AreEqual(string.Empty, filteredGame.Player1.Name);
            Assert.AreEqual(string.Empty, filteredGame.Player1.Move);
            Assert.IsNotNull(filteredGame.Player2);
            Assert.AreEqual(string.Empty, filteredGame.Player2.Name);
            Assert.AreEqual(string.Empty, filteredGame.Player2.Move);
        }
Exemplo n.º 5
0
        public void NewFilteredGame_GameIdNotEmpty_Player1NotNull_Name1NotEmpty_Player2NotNull_Name2NotEmpty()
        {
            // Arrange
            string gameId      = "abcd";
            string player1Name = "John";
            Player player1     = new Player(player1Name);
            string player2Name = "Jack";
            Player player2     = new Player(player2Name);

            // Act
            FilteredGame filteredGame = new FilteredGame(gameId, player1, player2);

            // Assert
            Assert.AreEqual(gameId, filteredGame.ID);
            Assert.IsNotNull(filteredGame.Player1);
            Assert.AreEqual(player1Name, filteredGame.Player1.Name);
            Assert.AreEqual(string.Empty, filteredGame.Player1.Move);
            Assert.IsNotNull(filteredGame.Player2);
            Assert.AreEqual(player2Name, filteredGame.Player2.Name);
            Assert.AreEqual(string.Empty, filteredGame.Player2.Move);
        }
Exemplo n.º 6
0
        public void Filter_Player1NotNull_Player1HasntPlayed_Player2Null()
        {
            // Arrange
            string player1Name = "John";
            Player player2     = null;
            Game   game        = new Game(player1Name)
            {
                Player2 = player2
            };

            // Act
            FilteredGame filteredGame = game.Filter();

            // Assert
            Assert.AreEqual(game.ID, filteredGame.ID);
            Assert.AreEqual($"Waiting for player 1 {player1Name} to play." +
                            Environment.NewLine +
                            "Waiting for Player 2 to join the game.", filteredGame.Information);
            Assert.AreEqual(player1Name, filteredGame.Player1.Name);
            Assert.AreEqual(string.Empty, filteredGame.Player1.Move);
            Assert.AreEqual(string.Empty, filteredGame.Player2.Name);
            Assert.AreEqual(string.Empty, filteredGame.Player2.Move);
        }
Exemplo n.º 7
0
        public void Filter_Player1NotNull_Player1HasAlreadyPlayed_Player2Null()
        {
            // Arrange
            string player1Name = "John";
            Move   player1Move = Move.Rock;
            Player player2     = null;
            Game   game        = new Game(player1Name)
            {
                Player2 = player2
            };

            game.Player1.Move = player1Move;

            // Act
            FilteredGame filteredGame = game.Filter();

            // Assert
            Assert.AreEqual(game.ID, filteredGame.ID);
            Assert.AreEqual($"Waiting for Player 2 to join the game.", filteredGame.Information);
            Assert.AreEqual(player1Name, filteredGame.Player1.Name);
            Assert.AreEqual($"{player1Name} has already played.", filteredGame.Player1.Move);
            Assert.AreEqual(string.Empty, filteredGame.Player2.Name);
            Assert.AreEqual(string.Empty, filteredGame.Player2.Move);
        }