From 05ba0ebb03f59169e12de8f0926439b4f7587ee8 Mon Sep 17 00:00:00 2001 From: di7chro Date: Tue, 28 Apr 2015 09:47:02 +0200 Subject: [PATCH] Finds a Straight --- PokerKata/src/session3/PokerGame.java | 18 +++++++++++++++++- PokerKata/test/session3/PokerGameTest.java | 11 ++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/PokerKata/src/session3/PokerGame.java b/PokerKata/src/session3/PokerGame.java index c4ff621..9db3676 100644 --- a/PokerKata/src/session3/PokerGame.java +++ b/PokerKata/src/session3/PokerGame.java @@ -23,7 +23,9 @@ public class PokerGame { char[] values = getValues(hand); char[] colors = getColors(hand); - if (findFlush(colors) == true) + if (findStraight(values) == true) + score = 12; + else if (findFlush(colors) == true) score = 10; else if (findFullHouse(values) == true) score = 9; @@ -149,6 +151,20 @@ public class PokerGame { return false; } + /** + * Finds a Straight by looking if the value of the next card is 1 higher + * throughout all the cards + * + * @param values + * @return + */ + private boolean findStraight(char[] values) { + for (int i = 0; i < values.length - 1; i++) + if (values[i + 1] != values[i] + 1) + return false; + return true; + } + /** * Extracts all the values from the given String (hand) * diff --git a/PokerKata/test/session3/PokerGameTest.java b/PokerKata/test/session3/PokerGameTest.java index 28b420e..d0b7ed8 100644 --- a/PokerKata/test/session3/PokerGameTest.java +++ b/PokerKata/test/session3/PokerGameTest.java @@ -78,4 +78,13 @@ public class PokerGameTest { assertEquals(10, result); } -} + + @Test + public void straight_gives_12() throws Exception { + String hand = "K2S3H4R5R6"; + + int result = myGame.getScore(hand); + + assertEquals(12, result); + } +} \ No newline at end of file