public void ShouldSplitSevenPairWhenDealerHasTwoToSix() { var gamblerHand = new BlackJackHand( new Card(Rank.Seven, Suit.Diamonds), new Card(Rank.Seven, Suit.Hearts)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Ace, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Two, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Three, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Four, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Five, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Six, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand)); }
public void ShouldDoubleDownWhenDealerHasLessThan7AndGamblerHas10Or11() { var gamblerHand10 = new BlackJackHand( new Card(Rank.Eight, Suit.Diamonds), new Card(Rank.Two, Suit.Hearts)); var gamblerHand11 = new BlackJackHand( new Card(Rank.Eight, Suit.Diamonds), new Card(Rank.Three, Suit.Hearts)); Assert.AreEqual(BlackJackAction.DoubleDown, BlackJackAdvisor.RecommendAction (new Card(Rank.Six, Suit.Spades), gamblerHand10)); Assert.AreEqual(BlackJackAction.DoubleDown, BlackJackAdvisor.RecommendAction (new Card(Rank.Six, Suit.Spades), gamblerHand11)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand10)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand11)); }
public void ShouldHoldWhenGamblerHasBlackJack() { var gamblerHand = new BlackJackHand( new Card(Rank.Ace, Suit.Diamonds), new Card(Rank.Jack, Suit.Hearts)); Assert.AreEqual(BlackJackAction.Hold, BlackJackAdvisor.RecommendAction (new Card(Rank.Ace, Suit.Spades), gamblerHand)); }
public void ShouldAlwaysSplitEightPair() { var gamblerHand = new BlackJackHand( new Card(Rank.Eight, Suit.Diamonds), new Card(Rank.Eight, Suit.Hearts)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand)); }
public void ShouldHitWhenGamblerHasLessThan17AndDealerHasMoreThan6() { var gamblerHand = new BlackJackHand( new Card(Rank.Ten, Suit.Diamonds), new Card(Rank.Six, Suit.Hearts)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Hold, BlackJackAdvisor.RecommendAction (new Card(Rank.Six, Suit.Spades), gamblerHand)); }