Merge from home
PokerGame.java PokerGameTest.java
This commit is contained in:
24
PokerKata/test/session3/CardTest.java
Normal file
24
PokerKata/test/session3/CardTest.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package session3;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class CardTest {
|
||||
|
||||
@Test
|
||||
public void give_me_a_card() {
|
||||
Card card = new Card("4H");
|
||||
assertEquals(4, card.getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_suited_values() throws Exception {
|
||||
assertEquals(10, new Card("TD").getValue());
|
||||
assertEquals(11, new Card("JD").getValue());
|
||||
assertEquals(12, new Card("QD").getValue());
|
||||
assertEquals(13, new Card("KD").getValue());
|
||||
assertEquals(14, new Card("AD").getValue());
|
||||
}
|
||||
|
||||
}
|
||||
50
PokerKata/test/session3/HighCardRuleTest.java
Normal file
50
PokerKata/test/session3/HighCardRuleTest.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package session3;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
public class HighCardRuleTest {
|
||||
|
||||
@Test
|
||||
public void check_High_Card_one_card_per_hand() {
|
||||
Player player1 = new Player("Anna", "9H");
|
||||
Player player2 = new Player("Kalle", "4H");
|
||||
|
||||
Player winner = HighCardRule.compare(player1, player2);
|
||||
|
||||
assertEquals("Anna", winner.getPlayerName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void same_cards_returns_tie() throws Exception {
|
||||
Player player1 = new Player("1", "2H");
|
||||
Player player2 = new Player("2", "2C");
|
||||
|
||||
Player winner = HighCardRule.compare(player1, player2);
|
||||
|
||||
assertNull(winner);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void check_high_card_multiple_cards_per_hand() throws Exception {
|
||||
Player player1 = new Player("Anna", "4H 4D");
|
||||
Player player2 = new Player("Kalle", "4C 5C");
|
||||
|
||||
Player winner = HighCardRule.compare(player1, player2);
|
||||
|
||||
assertEquals("Kalle", winner.getPlayerName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void check_high_card_multiple_cards_per_hand_one_differs() throws Exception {
|
||||
Player player1 = new Player("Anna", "3H 5D 6H 8D 9C");
|
||||
Player player2 = new Player("Kalle", "4C 5C 6D 9D 8H");
|
||||
|
||||
Player winner = HighCardRule.compare(player1, player2);
|
||||
|
||||
assertEquals("Kalle", winner.getPlayerName());
|
||||
}
|
||||
|
||||
}
|
||||
40
PokerKata/test/session3/PairRuleTest.java
Normal file
40
PokerKata/test/session3/PairRuleTest.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package session3;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class PairRuleTest {
|
||||
|
||||
@Test
|
||||
public void pair_wins_over_high_card() {
|
||||
Player green = new Player("Green", "2S 3C 4D 7H AH");
|
||||
Player white = new Player("White", "3S 3C 5D 6H KH");
|
||||
|
||||
Player winningPlayer = PairRule.compare(green, white);
|
||||
|
||||
assertEquals("White", winningPlayer.getPlayerName());
|
||||
}
|
||||
@Test
|
||||
public void higher_pair_wins_over_lower_pair() throws Exception {
|
||||
|
||||
Player white = new Player("White", "2S 3C 7D 7H AH");
|
||||
Player green = new Player("Green", "3S 3C 5D 6H KH");
|
||||
|
||||
Player winningPlayer = PairRule.compare(green, white);
|
||||
|
||||
assertEquals("White", winningPlayer.getPlayerName());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_if_pair_is_tie() throws Exception {
|
||||
Player white = new Player("White", "2S 3C 7D 7H AH");
|
||||
Player green = new Player("Green", "7S 7C 5D 6H KH");
|
||||
|
||||
Player winningPlayer = PairRule.compare(green, white);
|
||||
|
||||
assertNull(winningPlayer);
|
||||
}
|
||||
|
||||
}
|
||||
52
PokerKata/test/session3/PlayerTest.java
Normal file
52
PokerKata/test/session3/PlayerTest.java
Normal file
@@ -0,0 +1,52 @@
|
||||
package session3;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
public class PlayerTest {
|
||||
|
||||
@Test
|
||||
public void getPlayerName() {
|
||||
assertEquals("Christian", new Player("Christian", "5H").getPlayerName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getPlayerHand() throws Exception {
|
||||
List<Card> listCard = new ArrayList<Card>();
|
||||
listCard.add(new Card("5H"));
|
||||
Player player = new Player("bob", "5H");
|
||||
|
||||
List<Card> result = player.getPlayerHand();
|
||||
|
||||
assertEquals(listCard.get(0).getValue(), result.get(0).getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void constructor_handles_multiple_cards() throws Exception {
|
||||
List<Card> listCard = new ArrayList<Card>();
|
||||
listCard.add(new Card("5H"));
|
||||
listCard.add(new Card("3H"));
|
||||
Player player = new Player("bob", "5H 3H");
|
||||
|
||||
List<Card> result = player.getPlayerHand();
|
||||
|
||||
assertEquals(listCard.size(), result.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void constructor_handles_multiple_cards_suit_cards() throws Exception {
|
||||
List<Card> listCard = new ArrayList<Card>();
|
||||
listCard.add(new Card("5H"));
|
||||
listCard.add(new Card("3H"));
|
||||
Player player = new Player("bob", "5H 3H");
|
||||
|
||||
List<Card> result = player.getPlayerHand();
|
||||
|
||||
assertEquals(listCard.size(), result.size());
|
||||
}
|
||||
}
|
||||
28
PokerKata/test/session3/PokerGameComparatorTest.java
Normal file
28
PokerKata/test/session3/PokerGameComparatorTest.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package session3;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class PokerGameComparatorTest {
|
||||
|
||||
@Test
|
||||
public void test_sort_by_value() {
|
||||
|
||||
List<Card> originalList = Arrays.asList(new Card("3H"), new Card("5H"), new Card("2H"));
|
||||
|
||||
PokerGameComparator comparator = new PokerGameComparator();
|
||||
Collections.sort(originalList, comparator);
|
||||
|
||||
assertEquals(5, originalList.get(0).getValue());
|
||||
assertEquals(3, originalList.get(1).getValue());
|
||||
assertEquals(2, originalList.get(2).getValue());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,20 +1,12 @@
|
||||
/**
|
||||
* PokerGame.java
|
||||
*
|
||||
* Course in Software Craftsmenship @ Högskolan Väst
|
||||
* Poker game kata for testing TDD, Test Driven Development
|
||||
*
|
||||
* 2015-04-27
|
||||
*/
|
||||
|
||||
package session3;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
public class PokerGameTest {
|
||||
<<<<<<< HEAD
|
||||
PokerGame myGame = new PokerGame();
|
||||
|
||||
@Test
|
||||
@@ -47,9 +39,18 @@ public class PokerGameTest {
|
||||
@Test
|
||||
public void three_of_a_kind_gives_3() throws Exception {
|
||||
String hand = "S8H8C8D3S4";
|
||||
=======
|
||||
|
||||
int result = myGame.getScore(hand);
|
||||
@Test
|
||||
public void green_wins_with_highest_card() {
|
||||
Player green = new Player("Green", "2S 3C 4D 7H AH");
|
||||
Player white = new Player("White", "3S 4C 5D 6H KH");
|
||||
PokerGame game = new PokerGame();
|
||||
>>>>>>> origin/master
|
||||
|
||||
Player winningPlayer = game.calculateWinningPlayer(green, white);
|
||||
|
||||
<<<<<<< HEAD
|
||||
assertEquals(3, result);
|
||||
}
|
||||
|
||||
@@ -61,9 +62,24 @@ public class PokerGameTest {
|
||||
int result = myGame.getScore(hand);
|
||||
|
||||
assertEquals(4, result);
|
||||
=======
|
||||
assertEquals("Green", winningPlayer.getPlayerName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void one_pair_beats_highest_card() throws Exception {
|
||||
Player green = new Player("Green", "2S 3C 4D 7H AH");
|
||||
Player white = new Player("White", "3S 3C 5D 6H KH");
|
||||
PokerGame game = new PokerGame();
|
||||
|
||||
Player winningPlayer = game.calculateWinningPlayer(green, white);
|
||||
|
||||
assertEquals("White", winningPlayer.getPlayerName());
|
||||
>>>>>>> origin/master
|
||||
}
|
||||
|
||||
@Test
|
||||
<<<<<<< HEAD
|
||||
@Ignore
|
||||
public void flush_gives_5() throws Exception {
|
||||
String hand = "S2S6S7S8S9";
|
||||
@@ -111,5 +127,15 @@ public class PokerGameTest {
|
||||
int result = myGame.getScore(hand);
|
||||
|
||||
assertEquals(9, result);
|
||||
=======
|
||||
public void two_pair_beats_one_pair() throws Exception {
|
||||
Player green = new Player("Green", "6S 6C 4D 7H AH");
|
||||
Player white = new Player("White", "3S 3C 5D 5H KH");
|
||||
PokerGame game = new PokerGame();
|
||||
|
||||
Player winningPlayer = game.calculateWinningPlayer(green, white);
|
||||
|
||||
assertEquals("White", winningPlayer.getPlayerName());
|
||||
>>>>>>> origin/master
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
39
PokerKata/test/session3/TwoPairRuleTest.java
Normal file
39
PokerKata/test/session3/TwoPairRuleTest.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package session3;
|
||||
|
||||
import src.session3.Player;
|
||||
import src.session3.TwoPairRule;
|
||||
|
||||
public class TwoPairRuleTest {
|
||||
|
||||
@Test
|
||||
public void two_pair_wins_over_pair() {
|
||||
Player green = new Player("Green", "6S 6C 4D 7H AH");
|
||||
Player white = new Player("White", "3S 3C 5D 5H KH");
|
||||
|
||||
Player winningPlayer = TwoPairRule.compare(green, white);
|
||||
|
||||
assertEquals("White", winningPlayer.getPlayerName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void higher_two_pair_wins_over_lower_two_pair() throws Exception {
|
||||
|
||||
Player green = new Player("Green", "4S 4C 6D 6H AH");
|
||||
Player white = new Player("White", "3S 3C 5D 5H KH");
|
||||
|
||||
Player winningPlayer = TwoPairRule.compare(white, green);
|
||||
|
||||
assertEquals("Green", winningPlayer.getPlayerName());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void first_pair_tie_second_pair_highest_wins() throws Exception {
|
||||
Player green = new Player("Green", "9S 9C 6D 6H AH");
|
||||
Player white = new Player("White", "9H 9D 5D 5H KH");
|
||||
|
||||
Player winningPlayer = TwoPairRule.compare(white, green);
|
||||
|
||||
assertEquals("Green", winningPlayer.getPlayerName());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user