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 } )); }
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); }