public GameResponse Hit([Required][FromHeader(Name = "X-Token")] string token) { token = Crypto.Decrypt(token); var data = JsonConvert.DeserializeObject <GameData>(token); game.Hit(data); return(new GameResponse { Token = Crypto.Encrypt(JsonConvert.SerializeObject(data)), Data = this.game.GetclientView(data) }); }
public void GuestHitWins() { var dealerCards = GenerateCards(new int[] { 4, 6 }).ToList(); var guestCards = GenerateCards(new int[] { 3, 5 }).ToList(); var randomIndexes = new int[] { 0, 0, 8 }; var mockCards = GenerateCards(randomIndexes).ToList(); var game = new GameFlow(new TestRandomEngine(dealerCards, guestCards, mockCards)); var data = game.Initialize(); foreach (var item in randomIndexes) { game.Hit(data); } Assert.IsNotNull(data.Winner, "There should be a winner"); Assert.AreEqual <Player?>(Player.Guest, data.Winner.Value, "The winner should be the Guest"); Assert.IsTrue(data.GameOver, "The game is over"); Assert.AreEqual <int>(12, data.CurrentDealerScore, "Dealer score should be 12 considering that the game is over"); Assert.AreEqual <int>(21, data.CurrentGuestScore, "Guest score should be 21"); }