Skip to content
This repository has been archived by the owner on Jan 13, 2024. It is now read-only.

Commit

Permalink
Add additional coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
StrangerCoug committed Sep 4, 2023
1 parent 9ae93ca commit ab602b6
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ public int compareTo(Card other) {
@Override
public String toString() {
if (rank == CardRank.JOKER)
return suitNames[suit.ordinal()] + rankNames[rank.ordinal()];
return suitNames[suit.ordinal()] + " " + rankNames[rank.ordinal()];

return rankNames[rank.ordinal()] + " of " + suitNames[suit.ordinal()];
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,26 +50,26 @@ void testPokerRank(PokerRank pokerRank, String string) {

private static Stream<Arguments> pokerRankToString() {
return Stream.of(
arguments(PokerRank.NOTHING, "Nothing"),
arguments(PokerRank.ONE_PAIR, "One Pair"),
arguments(PokerRank.TENS_OR_BETTER, "Tens or Better"),
arguments(PokerRank.JACKS_OR_BETTER, "Jacks or Better"),
arguments(PokerRank.TWO_PAIR, "Two Pair"),
arguments(PokerRank.THREE_OF_A_KIND, "Three of a Kind"),
arguments(PokerRank.STRAIGHT, "Straight"),
arguments(PokerRank.FLUSH, "Flush"),
arguments(PokerRank.FULL_HOUSE, "Full House"),
arguments(PokerRank.FOUR_OF_A_KIND, "Four of a Kind"),
arguments(PokerRank.FOUR_2S_THRU_4S, "Four 2-4"),
arguments(PokerRank.FOUR_ACES, "Four Aces"),
arguments(PokerRank.FOUR_2S_THRU_4S_WITH_ACE_THRU_4, "Four 2-4 with A-4"),
arguments(PokerRank.FOUR_ACES_WITH_2_THRU_4, "Four Aces with 2-4"),
arguments(PokerRank.STRAIGHT_FLUSH, "Straight Flush"),
arguments(PokerRank.FIVE_OF_A_KIND, "Five of a Kind"),
arguments(PokerRank.WILD_ROYAL, "Wild Royal Flush"),
arguments(PokerRank.FOUR_DEUCES, "Four Deuces"),
arguments(PokerRank.NATURAL_ROYAL, "Natural Royal Flush"),
arguments(PokerRank.FIVE_WILDS, "Five Wilds")
arguments(PokerRank.NOTHING, "Nothing"),
arguments(PokerRank.ONE_PAIR, "One Pair"),
arguments(PokerRank.TENS_OR_BETTER, "Tens or Better"),
arguments(PokerRank.JACKS_OR_BETTER, "Jacks or Better"),
arguments(PokerRank.TWO_PAIR, "Two Pair"),
arguments(PokerRank.THREE_OF_A_KIND, "Three of a Kind"),
arguments(PokerRank.STRAIGHT, "Straight"),
arguments(PokerRank.FLUSH, "Flush"),
arguments(PokerRank.FULL_HOUSE, "Full House"),
arguments(PokerRank.FOUR_OF_A_KIND, "Four of a Kind"),
arguments(PokerRank.FOUR_2S_THRU_4S, "Four 2-4"),
arguments(PokerRank.FOUR_ACES, "Four Aces"),
arguments(PokerRank.FOUR_2S_THRU_4S_WITH_ACE_THRU_4, "Four 2-4 with A-4"),
arguments(PokerRank.FOUR_ACES_WITH_2_THRU_4, "Four Aces with 2-4"),
arguments(PokerRank.STRAIGHT_FLUSH, "Straight Flush"),
arguments(PokerRank.FIVE_OF_A_KIND, "Five of a Kind"),
arguments(PokerRank.WILD_ROYAL, "Wild Royal Flush"),
arguments(PokerRank.FOUR_DEUCES, "Four Deuces"),
arguments(PokerRank.NATURAL_ROYAL, "Natural Royal Flush"),
arguments(PokerRank.FIVE_WILDS, "Five Wilds")
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.github.strangercoug.freecasino.objs;

import com.github.strangercoug.freecasino.enums.CardRank;
import com.github.strangercoug.freecasino.enums.CardSuit;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.util.LinkedList;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;

class CardTest {
private LinkedList<Card> cards;

@BeforeEach
void setCards() {
cards = new LinkedList<Card>();
CardRank[] ranks = new CardRank[]{CardRank.TWO, CardRank.THREE, CardRank.FOUR, CardRank.FIVE, CardRank.SIX,
CardRank.SEVEN, CardRank.EIGHT, CardRank.NINE, CardRank.TEN, CardRank.JACK, CardRank.QUEEN, CardRank.KING,
CardRank.ACE, CardRank.JOKER, CardRank.JOKER};
CardSuit[] suits = new CardSuit[]{CardSuit.CLUBS, CardSuit.DIAMONDS, CardSuit.HEARTS, CardSuit.SPADES, CardSuit.CLUBS,
CardSuit.DIAMONDS, CardSuit.HEARTS, CardSuit.SPADES, CardSuit.CLUBS, CardSuit.DIAMONDS, CardSuit.HEARTS,
CardSuit.SPADES, CardSuit.CLUBS, CardSuit.BLACK, CardSuit.RED};
for (int i = 0; i < ranks.length; i++) {
cards.add(new Card(ranks[i], suits[i]));
}
}

@Test
void testGetPointValue() {
int[] expectedValues = new int[]{2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 1, 10, 10};
for (int i = 0; i < expectedValues.length; i++) {
assertThat(cards.get(i).getPointValue(), equalTo(expectedValues[i]));
}
}

@Test
void testToString() {
String[] expectedValues = new String[]{"Two of Clubs", "Three of Diamonds", "Four of Hearts", "Five of Spades",
"Six of Clubs", "Seven of Diamonds", "Eight of Hearts", "Nine of Spades", "Ten of Clubs", "Jack of Diamonds",
"Queen of Hearts", "King of Spades", "Ace of Clubs", "Black Joker", "Red Joker"};
for (int i = 0; i < expectedValues.length; i++) {
assertThat(cards.get(i).toString(), equalTo(expectedValues[i]));
}
}
}

0 comments on commit ab602b6

Please sign in to comment.