コード例 #1
0
        public void GetEmptyFieldsTest_WhenTwoFieldsAreEmpty_ThenReturnThoseEmptyFields()
        {
            ComputerPlayer target = new ComputerPlayer();
            var            board  = new Piece[3, 3];

            board[0, 0] = Piece.O; board[1, 0] = Piece.X; board[2, 0] = Piece.O;
            board[0, 1] = Piece.O; board[1, 1] = Piece.O; board[2, 1] = Piece.Empty;
            board[0, 2] = Piece.X; board[1, 2] = Piece.X; board[2, 2] = Piece.Empty;
            var boardState = new BoardState(null);

            boardState.Board = board;
            List <Position> emptyFields    = target.GetEmptyFields(boardState);
            List <Position> expectedEmptys = new List <Position>()
            {
                new Position {
                    X = 2, Y = 1
                },
                new Position {
                    X = 2, Y = 2
                }
            };

            Assert.AreEqual(emptyFields.Count == expectedEmptys.Count, true);
            int i = 0;

            foreach (var position in expectedEmptys)
            {
                Assert.AreEqual(true, position.IsEqual(emptyFields[i]));
                i++;
            }
        }