lots of exercises in java... from https://github.com/exercism/java

PokerTest.java 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. import static org.junit.Assert.assertEquals;
  2. import java.util.Arrays;
  3. import org.junit.Ignore;
  4. import org.junit.Test;
  5. public class PokerTest
  6. {
  7. @Test
  8. public void OneHand()
  9. {
  10. final String hand = "4S 5S 7H 8D JC";
  11. assertEquals(Arrays.asList(hand),Poker.bestHands(Arrays.asList(hand)));
  12. }
  13. @Test
  14. @Ignore
  15. public void NothingVsOnePair()
  16. {
  17. final String nothing = "4S 5H 6S 8D JH";
  18. final String pairOf4 = "2S 4H 6S 4D JH";
  19. assertEquals(Arrays.asList(pairOf4), Poker.bestHands(Arrays.asList(nothing, pairOf4)));
  20. }
  21. @Test
  22. @Ignore
  23. public void TwoPairs()
  24. {
  25. final String pairOf2 = "4S 2H 6S 2D JH";
  26. final String pairOf4 = "2S 4H 6S 4D JH";
  27. assertEquals(Arrays.asList(pairOf4), Poker.bestHands(Arrays.asList(pairOf2,pairOf4)));
  28. }
  29. @Test
  30. @Ignore
  31. public void OnePairVsDoublePair()
  32. {
  33. final String pairOf8 = "2S 8H 6S 8D JH";
  34. final String doublePair = "4S 5H 4S 8D 5H";
  35. assertEquals(Arrays.asList(doublePair), Poker.bestHands(Arrays.asList(pairOf8, doublePair)));
  36. }
  37. @Test
  38. @Ignore
  39. public void TwoDoublePairs()
  40. {
  41. final String doublePair2And8 = "2S 8H 2S 8D JH";
  42. final String doublePair4And5 = "4S 5H 4S 8D 5H";
  43. assertEquals(Arrays.asList(doublePair2And8), Poker.bestHands(Arrays.asList(doublePair2And8, doublePair4And5)));
  44. }
  45. @Test
  46. @Ignore
  47. public void DoublePairVsThree()
  48. {
  49. final String doublePair2And8 = "2S 8H 2S 8D JH";
  50. final String threeOf4 = "4S 5H 4S 8D 4H";
  51. assertEquals(Arrays.asList(threeOf4 ), Poker.bestHands(Arrays.asList(doublePair2And8, threeOf4 )));
  52. }
  53. @Test
  54. @Ignore
  55. public void TwoThrees()
  56. {
  57. final String threeOf2 = "2S 2H 2S 8D JH";
  58. final String threeOf1 = "4S AH AS 8D AH";
  59. assertEquals(Arrays.asList(threeOf1), Poker.bestHands(Arrays.asList(threeOf2, threeOf1)));
  60. }
  61. @Test
  62. @Ignore
  63. public void ThreeVsStraight()
  64. {
  65. final String threeOf4 = "4S 5H 4S 8D 4H";
  66. final String straight = "3S 4H 2S 6D 5H";
  67. assertEquals(Arrays.asList(straight), Poker.bestHands(Arrays.asList(threeOf4, straight )));
  68. }
  69. @Test
  70. @Ignore
  71. public void TwoStraights()
  72. {
  73. final String straightTo8 = "4S 6H 7S 8D 5H";
  74. final String straightTo9 = "5S 7H 8S 9D 6H";
  75. assertEquals(Arrays.asList(straightTo9 ), Poker.bestHands(Arrays.asList(straightTo8, straightTo9 )));
  76. final String straightTo1 = "AS QH KS TD JH";
  77. final String straightTo5 = "4S AH 3S 2D 5H";
  78. assertEquals(Arrays.asList(straightTo1), Poker.bestHands(Arrays.asList(straightTo1, straightTo5)));
  79. }
  80. @Test
  81. @Ignore
  82. public void StraightVsFlush()
  83. {
  84. final String straightTo8 = "4S 6H 7S 8D 5H";
  85. final String flushTo7 = "2S 4S 5S 6S 7S";
  86. assertEquals(Arrays.asList(flushTo7 ), Poker.bestHands(Arrays.asList(straightTo8, flushTo7 )));
  87. }
  88. @Test
  89. @Ignore
  90. public void TwoFlushes()
  91. {
  92. final String flushTo8 = "3H 6H 7H 8H 5H";
  93. final String flushTo7 = "2S 4S 5S 6S 7S";
  94. assertEquals(Arrays.asList(flushTo8), Poker.bestHands(Arrays.asList(flushTo8, flushTo7)));
  95. }
  96. @Test
  97. @Ignore
  98. public void FlushVsFull()
  99. {
  100. final String flushTo8 = "3H 6H 7H 8H 5H";
  101. final String full = "4S 5H 4S 5D 4H";
  102. assertEquals(Arrays.asList(full ), Poker.bestHands(Arrays.asList(full, flushTo8)));
  103. }
  104. @Test
  105. @Ignore
  106. public void TwoFulls()
  107. {
  108. final String fullOf4By9 = "4H 4S 4D 9S 9D";
  109. final String fullOf5By8 = "5H 5S 5D 8S 8D";
  110. assertEquals(Arrays.asList(fullOf5By8 ), Poker.bestHands(Arrays.asList(fullOf4By9, fullOf5By8)));
  111. }
  112. @Test
  113. @Ignore
  114. public void FullVsSquare()
  115. {
  116. final String full = "4S 5H 4S 5D 4H";
  117. final String squareOf3 = "3S 3H 2S 3D 3H";
  118. assertEquals(Arrays.asList(squareOf3 ), Poker.bestHands(Arrays.asList(full, squareOf3 )));
  119. }
  120. @Test
  121. @Ignore
  122. public void TwoSquares()
  123. {
  124. final String squareOf2 = "2S 2H 2S 8D 2H";
  125. final String squareOf5 = "4S 5H 5S 5D 5H";
  126. assertEquals(Arrays.asList(squareOf5), Poker.bestHands(Arrays.asList(squareOf2, squareOf5)));
  127. }
  128. @Test
  129. @Ignore
  130. public void SquareVsStraightFlush()
  131. {
  132. final String squareOf5 = "4S 5H 5S 5D 5H";
  133. final String straightFlushTo9 = "5S 7S 8S 9S 6S";
  134. assertEquals(Arrays.asList(straightFlushTo9 ), Poker.bestHands(Arrays.asList(squareOf5, straightFlushTo9 )));
  135. }
  136. @Test
  137. @Ignore
  138. public void TwoStraightFlushes()
  139. {
  140. final String straightFlushTo8 = "4H 6H 7H 8H 5H";
  141. final String straightFlushTo9 = "5S 7S 8S 9S 6S";
  142. assertEquals(Arrays.asList(straightFlushTo9 ), Poker.bestHands(Arrays.asList(straightFlushTo8, straightFlushTo9)));
  143. }
  144. @Test
  145. @Ignore
  146. public void ThreeHandWithTie()
  147. {
  148. final String spadeStraightTo9 = "9S 8S 7S 6S 5S";
  149. final String diamondStraightTo9 = "9D 8D 7D 6D 5D";
  150. final String threeOf4 = "4D 4S 4H QS KS";
  151. assertEquals(Arrays.asList(spadeStraightTo9, diamondStraightTo9), Poker.bestHands(Arrays.asList(spadeStraightTo9, diamondStraightTo9, threeOf4)));
  152. }
  153. @Test
  154. @Ignore
  155. public void StraightTo5AgainstAPairOfJacks()
  156. {
  157. final String straightTo5 = "2S 4D 5C 3S AS";
  158. final String twoJacks = "JD 8D 7D JC 5D";
  159. assertEquals(Arrays.asList(straightTo5), Poker.bestHands(Arrays.asList(straightTo5, twoJacks)));
  160. }
  161. }