private ulong hand(string hand) { var cards = hand.Split(' '); return(HoldemGame.EvaluateHand( CARDS[cards[0]], CARDS[cards[1]], CARDS[cards[2]], CARDS[cards[3]], CARDS[cards[4]])); }
public void HandEvaluator() { Assert.AreEqual("High Card (A)", HoldemGame.HandClass(hand("2C 3C 4C TD AC"))); Assert.AreEqual("Pair (2)", HoldemGame.HandClass(hand("2C 2D 4C TD AC"))); Assert.AreEqual("Two Pairs (3/2)", HoldemGame.HandClass(hand("2C 2D 3C 3D AC"))); Assert.AreEqual("Three of a Kind (2)", HoldemGame.HandClass(hand("2C 2D 2S 3D AC"))); Assert.AreEqual("Straight (Wheel)", HoldemGame.HandClass(hand("2C 3S 4S 5D AC"))); Assert.AreEqual("Straight", HoldemGame.HandClass(hand("3C 4S 5S 6D 7C"))); Assert.AreEqual("Flush", HoldemGame.HandClass(hand("3S TS 5S 6S 7S"))); Assert.AreEqual("Full House (10/3)", HoldemGame.HandClass(hand("TS TC TC 3S 3S"))); Assert.AreEqual("Four of a Kind (10)", HoldemGame.HandClass(hand("TS TC TC TS 4S"))); Assert.AreEqual("Straight Flush", HoldemGame.HandClass(hand("9S TS JS QS KS"))); Assert.AreEqual("Royal Flush", HoldemGame.HandClass(hand("TS JS QS KS AS"))); // high card Assert.Greater( hand("2C 3C 4C TD AC"), hand("2H 3H 4H TH KD")); // straight flushes Assert.Greater( HoldemGame.EvaluateHand(1, 2, 3, 4, 5), HoldemGame.EvaluateHand(0, 1, 2, 3, 4)); }