Skip to content
Open
5 changes: 5 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,10 @@
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
</dependencies>
</project>
25 changes: 25 additions & 0 deletions src/main/java/io/zipcoder/casino/Card.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package io.zipcoder.casino;

public class Card {

private final Rank rank;
private final Suit suit;

public Card(Rank rank, Suit suit) {
this.rank = rank;
this.suit = suit;
}

public Rank getRank() {
return rank;
}

public Suit getSuit() {
return suit;
}

public String toString() {
return rank + " of " + suit;
}

}
10 changes: 10 additions & 0 deletions src/main/java/io/zipcoder/casino/CardGameInterface.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.zipcoder.casino;

import java.util.ArrayList;

public interface CardGameInterface {
ArrayList<Card> deck = new ArrayList<Card>();

int checkNumberOfCards();
void dealCards();
}
6 changes: 6 additions & 0 deletions src/main/java/io/zipcoder/casino/DiceGameInterface.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package io.zipcoder.casino;

public interface DiceGameInterface {
void rollDice();
int getNumberOfDice();
}
11 changes: 11 additions & 0 deletions src/main/java/io/zipcoder/casino/GamblingInterface.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package io.zipcoder.casino;

import java.util.Map;

public interface GamblingInterface {
int checkChipAmount();
void placeBet(int betAmount);
int getAnte();
void bootPlayerFromGame();
int chekcPot();
}
7 changes: 7 additions & 0 deletions src/main/java/io/zipcoder/casino/Game.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package io.zipcoder.casino;

public abstract class Game implements GameInterface{
public abstract void start();
public abstract void end();

}
6 changes: 6 additions & 0 deletions src/main/java/io/zipcoder/casino/GameInterface.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package io.zipcoder.casino;

public interface GameInterface {
void start();
void end();
}
35 changes: 35 additions & 0 deletions src/main/java/io/zipcoder/casino/Rank.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package io.zipcoder.casino;

public enum Rank {

DEUCE(2,"2"),
THREE(3,"3"),
FOUR(4,"4"),
FIVE(5,"5"),
SIX(6,"6"),
SEVEN(7,"7"),
EIGHT(8,"8"),
NINE(9,"9"),
TEN(10,"10"),
JACK(11,"J"),
QUEEN(12,"Q"),
KING(13,"K"),
ACE(1,"A");

final int rankValue;
final String rankSymbol;

Rank(int rankValue, String rankSymbol) {
this.rankValue = rankValue;
this.rankSymbol = rankSymbol;
}

public int toInt() {
return this.rankValue;
}

public String toString() {
return this.rankSymbol;
}

}
26 changes: 26 additions & 0 deletions src/main/java/io/zipcoder/casino/Suit.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package io.zipcoder.casino;

public enum Suit {

CLUBS("clubs", "\u2663"),
DIAMONDS("diamonds", "\u2666"),
HEARTS("hearts", "\u2665"),
SPADES("spades", "\u2660");

final String suitWord;
final String suitSymbol;

Suit(String suitWord, String suitSymbol) {
this.suitWord = suitWord;
this.suitSymbol = suitSymbol;
}

public String toString() {
return this.suitWord;
}

public String toSymbol() {
return this.suitSymbol;
}

}
71 changes: 71 additions & 0 deletions src/test/java/io/zipcoder/casino/CardTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package io.zipcoder.casino;

import org.junit.Assert;
import org.junit.Test;
import org.junit.Before;

public class CardTest {

private Card card;

@Test
public void CardConstructorRankPositiveTest() {

// Given
Rank expectedRank = Rank.DEUCE;
Suit expectedSuit = Suit.CLUBS;
Card card = new Card(Rank.DEUCE, Suit.CLUBS);

// When
Rank actualRank = card.getRank();
Suit actualSuit = card.getSuit();

// Then
Assert.assertEquals(expectedRank, actualRank);
Assert.assertEquals(expectedSuit, actualSuit);
}

@Test
public void getRankPositiveTest() {

// Given
Rank expectedRank = Rank.SEVEN;
Card card = new Card(Rank.SEVEN, Suit.SPADES);

// When
Rank actualRank = card.getRank();

// Then
Assert.assertEquals(expectedRank, actualRank);
}

@Test
public void getSuitPositiveTest() {

// Given
Suit expectedSuit = Suit.DIAMONDS;
Card card = new Card(Rank.EIGHT, Suit.DIAMONDS);

// When
Suit actualSuit = card.getSuit();

// Then
Assert.assertEquals(expectedSuit, actualSuit);

}

@Test
public void toStringPositiveTest() {

// Given
String expectedString = "J of hearts";
Card card = new Card(Rank.JACK, Suit.HEARTS);

// When
String actualString = card.toString();

// Then
Assert.assertEquals(expectedString, actualString);
}

}
5 changes: 5 additions & 0 deletions src/test/java/io/zipcoder/casino/CasinoTest.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package io.zipcoder.casino;

import org.junit.Assert;
import org.junit.Test;
import org.junit.Before;

public class CasinoTest {


}
41 changes: 41 additions & 0 deletions src/test/java/io/zipcoder/casino/RankTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package io.zipcoder.casino;

import org.junit.Assert;
import org.junit.Test;
import org.junit.Before;

public class RankTest {

private Card card;

@Test
public void RanktoIntTest() {

// Given
int expectedRankValue = 3;
Card card = new Card(Rank.THREE, Suit.HEARTS);

// When
int actualRankValue = card.getRank().toInt();

// Then
Assert.assertEquals(expectedRankValue, actualRankValue);
}

@Test
public void RanktoStringTest() {

// Given
String expectedRankSymbol = "3";
Card card = new Card(Rank.THREE, Suit.HEARTS);

// When
String actualRankSymbol = card.getRank().toString();

// Then
Assert.assertEquals(expectedRankSymbol, actualRankSymbol);
}



}
38 changes: 38 additions & 0 deletions src/test/java/io/zipcoder/casino/SuitTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package io.zipcoder.casino;

import org.junit.Assert;
import org.junit.Test;
import org.junit.Before;

public class SuitTest {

private Card card;

@Test
public void SuitToStringTest() {

// Given
String expectedSuitWord = "clubs";
Card card = new Card(Rank.NINE, Suit.CLUBS);

// When
String actualSuitWord = card.getSuit().toString();

// Then
Assert.assertEquals(expectedSuitWord, actualSuitWord);
}

@Test
public void SuitToSymbolTest() {

// Given
String expectedSuitSymbol = "\u2663";
Card card = new Card(Rank.NINE, Suit.CLUBS);

// When
String actualSuitSymbol = card.getSuit().toSymbol();

// Then
Assert.assertEquals(expectedSuitSymbol, actualSuitSymbol);
}
}