public ActionResult Post(GetNextMove getNextMove)
        {
            int version = getNextMove.Version;
            IAutomatedPlayerService service;

            switch (version)
            {
            case 1:
                service = new AutomatedPlayerServiceV1();
                break;

            case 2:
                service = new AutomatedPlayerServiceV2();
                break;

            case 3:
                service = new AutomatedPlayerServiceV3();
                break;

            default:
                service = null;
                break;
            }

            if (service == null)
            {
                return(BadRequest(
                           new Response
                {
                    Successful = false
                }
                           ));
            }

            NextMove nextmove = service.GetNextMoveForAutomatedPlayer(getNextMove);

            return(Ok(
                       new Response
            {
                Successful = true,
                NextMove = nextmove
            }
                       ));
        }
Ejemplo n.º 2
0
        public void EvaluateTest()
        {
            // Associate
            Int64[,] board = new Int64[, ]
            {
                { 0, 2, 0, 2, 0, 2, 0, 2 },
                { 2, 0, 2, 0, 2, 0, 2, 0 },
                { 0, 2, 0, 2, 0, 2, 0, 2 },
                { 5, 0, 5, 0, 5, 0, 5, 0 },
                { 0, 5, 0, 5, 0, 5, 0, 5 },
                { 1, 0, 1, 0, 1, 0, 1, 0 },
                { 0, 1, 0, 1, 0, 1, 0, 1 },
                { 1, 0, 1, 0, 1, 0, 1, 0 }
            };
            AutomatedPlayerServiceV3 automatedPlayerServiceV3 = new AutomatedPlayerServiceV3();
            Int64 expectedResult = 0;

            // Act
            Int64 actualResult = automatedPlayerServiceV3.Evaluate(board);

            // Assert
            Assert.AreEqual(expectedResult, actualResult);
        }