private bool SaveGameToSession(HiLoGuessGame Game) { var serialisedDate = JsonConvert.SerializeObject(Game, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto }); HttpContext.Session.SetString(gameData, serialisedDate); return(true); }
public void HiLoGame_NumberBoard_All_Correct_Answers() { var Board = new HiLoNumbersBoard(NumberGenerator); var Game = new HiLoGuessGame(dbContext, Board); for (int i = 0; i <= NumberOfRounds; i++) { Assert.True(Game.Guess(Game.NumbersBoard.NextNumber() > Game.NumbersBoard.CurrentNumber())); } }
public IActionResult Index() { HiLoGuessGame Game = null; Game = GetGameFromSession(); if (Game == null) { Game = NewGame(); } // dont want to pass model to page as it will reveleal the numbers SaveGameToSession(Game); return(View(Game)); }
public void HiLoGame_NumberBoard_Guess_Some_Answers() { var Board = new HiLoNumbersBoard(NumberGenerator); var Game = new HiLoGuessGame(dbContext, Board); var random = new Random(); var triesbeforefail = random.Next(1, 9); for (int i = 0; i < NumberOfRounds; i++) { if (i == triesbeforefail) { Assert.False(Game.Guess(Game.NumbersBoard.NextNumber() < Game.NumbersBoard.CurrentNumber())); return; } else { Assert.True(Game.Guess(Game.NumbersBoard.NextNumber() > Game.NumbersBoard.CurrentNumber())); } } }
public void HiLoGame_NumberBoard_Should_Change_On_Correct_Answer() { bool validated = false; while (!validated) { var board = new HiLoNumbersBoard(NumberGenerator); var Game = new HiLoGuessGame(dbContext, board); var previousNumber = Game.NumbersBoard.CurrentNumber(); // wrong guess if (!Game.Guess(true)) { // guessing moves to the next number so you can see what the number was Assert.True(previousNumber > Game.NumbersBoard.CurrentNumber()); } else { validated = true; } } }