public void TestIndexCreatesANewBoard()
 {
     var controller = new HomeController();
     var controllerContext = new ControllerContextMock(controller);
     controllerContext.Session.SetupGet(s => s["Board"]).Returns(null);
     var result = controller.Index() as ViewResult;
     Assert.IsNotNull(result.ViewData["Board"]);
     Assert.AreEqual(typeof(Board), result.ViewData["Board"].GetType());
 }
 public void TestIndexUsesAnExistingBoard()
 {
     var board = new Board();
     var controller = new HomeController();
     var controllerContext = new ControllerContextMock(controller);
     controllerContext.Session.SetupGet(s => s["Board"]).Returns(board);
     var result = controller.Index() as ViewResult;
     Assert.IsNotNull(result.ViewData["Board"]);
     Assert.AreEqual(board, result.ViewData["Board"]);
 }
 public void TestCreatePlaysAMove()
 {
     var board = Board.CreateBoard();
     var controller = new HomeController();
     var controllerContext = new ControllerContextMock(controller);
     controllerContext.Session.SetupGet(s => s["Board"]).Returns(board);
     controllerContext.QueryString["x"] = "1";
     controllerContext.QueryString["y"] = "3";
     var result = controller.Create() as RedirectToRouteResult;
     Assert.IsNotNull(result);
     Assert.AreEqual("Index", result.RouteValues["action"]);
     Assert.AreEqual(Colour.Black, board[new Vector(1, 3)].Colour);
 }