public void GameConplete1Player_Complete_MapsCorrectly() { var game = new BlackJackGame(defautlCardProvider, DealerNamedData, 1); game.AddPlayer(PlayerTed); game.SetPlayerStatusReady(PlayerTedId); game.DealHands(); var TedHandKey = game.CurrentPlayer.Hands.Single().Identifier; game.PlayerHits(PlayerTedId, TedHandKey); game.PlayerHits(PlayerTedId, TedHandKey); game.PlayerHits(PlayerTedId, TedHandKey); game.PlayerHits(PlayerTedId, TedHandKey); game.PlayerHits(PlayerTedId, TedHandKey); game.PlayerHits(PlayerTedId, TedHandKey); game.PlayerHits(PlayerTedId, TedHandKey); game.PlayerHits(PlayerTedId, TedHandKey); Assert.Throws <InvalidOperationException>(() => game.PlayerHits(PlayerTedId, TedHandKey)); var gameDto = MapperBlackJackGameDto.Map(game, PlayerTedId); var Ted = game.Players.Single(p => p.Identifier == PlayerTedId); var TedDto = gameDto.Players.Single(p => p.PlayerIdentifier == PlayerTedId); var dealer = game.Players.Single(p => p.Identifier == DealerDataId); var dealerDto = gameDto.Players.Single(p => p.PlayerIdentifier == DealerDataId); Assert.AreEqual(game.Players.Count(), gameDto.Players.Count); Assert.AreEqual(Ted.Hands.Count(), TedDto.Hands.Count); Assert.AreEqual(Ted.Hands.Single().Identifier, TedDto.Hands.Single().Identifier); Assert.AreEqual(Ted.Hands.Single().PointValue, TedDto.Hands.Single().PointValue); Assert.AreEqual(10, TedDto.Hands.Single().CardCount); Assert.AreEqual(21, TedDto.Hands.Single().PointValue); Assert.AreEqual(dealer.Hands.Count(), dealerDto.Hands.Count); Assert.AreEqual(dealer.Hands.Single().Identifier, dealerDto.Hands.Single().Identifier); Assert.AreEqual(dealer.Hands.Single().PointValue, dealerDto.Hands.Single().PointValue); Assert.AreEqual(2, dealerDto.Hands.Single().CardCount); }
static void Main(string[] args) { Console.WriteLine("Black Jack"); Console.WriteLine(); var deck = new Deck(new RandomNumberGenerator()); var player = new BlackJackPlayer("Stefan"); var dealer = new BlackJackDealer(); var game = new BlackJackGame(Guid.NewGuid(), deck, dealer, player); Console.WriteLine("Do you want to play Black Jack? (y/n):"); while (Console.ReadLine() == "y") { game.StartNewGame(); DisplayPlayerInfo(game.Player); DisplayPlayerInfo(game.Dealer); Console.WriteLine($"{game.Player.Name}, do you want a hit?"); while (!game.Player.IsBust && Console.ReadLine() == "y") { game.PlayerHits(); DisplayPlayerInfo(game.Player); } if (!game.Player.IsBust) { game.PlayerSticks(); } DisplayPlayerInfo(game.Dealer); Console.WriteLine($"...and the winner is: {game.GetWinnerName()}"); Console.WriteLine("You want to play again? (y/n)"); } }
public void AfterDeal_PlayerHits_CurrectValues() { var playerOneId = "8625cf04-b7e2"; var game = new BlackJackGame(cardProvider, DealerNamedData, 1); game.AddPlayer(new BlackJackPlayer(new AvitarDto() { id = "8625cf04-b7e2", userName = playerName2 }, HandIdentifierProvider, 1)); game.SetPlayerStatusReady(playerOneId); game.DealHands(); Assert.AreEqual(2, game.Players.Last().Hands.First().Cards.Count()); Assert.AreEqual(5, game.Players.First().Hands.First().PointValue); Assert.AreEqual(5, game.Players.Last().Hands.First().PointValue); Assert.IsTrue(game.Players.First().Hands.First().Cards.First().FaceDown); Assert.IsFalse(game.Players.First().Hands.First().Cards.Last().FaceDown); Assert.IsTrue(game.Players.Last().Hands.First().Cards.First().FaceDown); Assert.IsFalse(game.Players.Last().Hands.First().Cards.Last().FaceDown); game.PlayerHits(playerOneId, HandIdentifierProvider.GenerateHandIds(1).Single()); Assert.AreEqual(3, game.Players.First().Hands.First().Cards.Count()); Assert.AreEqual(7, game.Players.First().Hands.First().PointValue); }