From ab1d061d4f1162b0284171f2eb11c2e0383c71a0 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Wed, 21 Feb 2018 11:52:02 -0500 Subject: [PATCH 1/8] Finished Game Interface --- pom.xml | 5 +++++ src/main/java/io/zipcoder/casino/GameInterface.java | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/GameInterface.java diff --git a/pom.xml b/pom.xml index c6ec0cc8..6fb2cc76 100644 --- a/pom.xml +++ b/pom.xml @@ -15,5 +15,10 @@ 4.12 test + + org.apache.commons + commons-lang3 + 3.7 + diff --git a/src/main/java/io/zipcoder/casino/GameInterface.java b/src/main/java/io/zipcoder/casino/GameInterface.java new file mode 100644 index 00000000..3d71056d --- /dev/null +++ b/src/main/java/io/zipcoder/casino/GameInterface.java @@ -0,0 +1,6 @@ +package io.zipcoder.casino; + +public interface GameInterface { + void start(); + void end(); +} From 03ae6d490bdc0ee527b3d4d326033e176270ea6f Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Wed, 21 Feb 2018 13:31:19 -0500 Subject: [PATCH 2/8] Dice and Card game interfaces done --- .../java/io/zipcoder/casino/CardGameInterface.java | 10 ++++++++++ .../java/io/zipcoder/casino/DiceGameInterface.java | 6 ++++++ 2 files changed, 16 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/CardGameInterface.java create mode 100644 src/main/java/io/zipcoder/casino/DiceGameInterface.java diff --git a/src/main/java/io/zipcoder/casino/CardGameInterface.java b/src/main/java/io/zipcoder/casino/CardGameInterface.java new file mode 100644 index 00000000..cd79276f --- /dev/null +++ b/src/main/java/io/zipcoder/casino/CardGameInterface.java @@ -0,0 +1,10 @@ +package io.zipcoder.casino; + +import java.util.ArrayList; + +public interface CardGameInterface { + ArrayList<> deck; + + int checkNumberOfCards(); + void dealCards(); +} diff --git a/src/main/java/io/zipcoder/casino/DiceGameInterface.java b/src/main/java/io/zipcoder/casino/DiceGameInterface.java new file mode 100644 index 00000000..f32fc2e6 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/DiceGameInterface.java @@ -0,0 +1,6 @@ +package io.zipcoder.casino; + +public interface DiceGameInterface { + void rollDice(); + int getNumberOfDice(); +} From 452402f375815c54392459a2466cb39ffe40ba13 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Wed, 21 Feb 2018 14:00:51 -0500 Subject: [PATCH 3/8] Finished Gambling interface --- .../java/io/zipcoder/casino/GamblingInterface.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/GamblingInterface.java diff --git a/src/main/java/io/zipcoder/casino/GamblingInterface.java b/src/main/java/io/zipcoder/casino/GamblingInterface.java new file mode 100644 index 00000000..c19778e7 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/GamblingInterface.java @@ -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(); +} From f1985941711b5b5ca021adc77522f27b5ed60a9a Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Wed, 21 Feb 2018 14:56:47 -0500 Subject: [PATCH 4/8] Created abstract Game class --- src/main/java/io/zipcoder/casino/Game.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/Game.java diff --git a/src/main/java/io/zipcoder/casino/Game.java b/src/main/java/io/zipcoder/casino/Game.java new file mode 100644 index 00000000..3577ddc0 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Game.java @@ -0,0 +1,7 @@ +package io.zipcoder.casino; + +public abstract class Game implements GameInterface{ + public abstract void start(); + public abstract void end(); + +} From f8829c1d80afa834107496b6d4e61c464b9c64a9 Mon Sep 17 00:00:00 2001 From: Luis Romero Date: Wed, 21 Feb 2018 16:47:08 -0500 Subject: [PATCH 5/8] added tests for card --- src/main/java/io/zipcoder/casino/Card.java | 4 ++ src/main/java/io/zipcoder/casino/Rank.java | 4 ++ src/main/java/io/zipcoder/casino/Suit.java | 4 ++ .../java/io/zipcoder/casino/CardTest.java | 71 +++++++++++++++++++ .../java/io/zipcoder/casino/CasinoTest.java | 5 ++ .../java/io/zipcoder/casino/RankTest.java | 41 +++++++++++ .../java/io/zipcoder/casino/SuitTest.java | 38 ++++++++++ 7 files changed, 167 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/Card.java create mode 100644 src/main/java/io/zipcoder/casino/Rank.java create mode 100644 src/main/java/io/zipcoder/casino/Suit.java create mode 100644 src/test/java/io/zipcoder/casino/CardTest.java create mode 100644 src/test/java/io/zipcoder/casino/RankTest.java create mode 100644 src/test/java/io/zipcoder/casino/SuitTest.java diff --git a/src/main/java/io/zipcoder/casino/Card.java b/src/main/java/io/zipcoder/casino/Card.java new file mode 100644 index 00000000..f9b9bddf --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Card.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino; + +public class Card { +} diff --git a/src/main/java/io/zipcoder/casino/Rank.java b/src/main/java/io/zipcoder/casino/Rank.java new file mode 100644 index 00000000..bd735914 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Rank.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino; + +public enum Rank { +} diff --git a/src/main/java/io/zipcoder/casino/Suit.java b/src/main/java/io/zipcoder/casino/Suit.java new file mode 100644 index 00000000..93f4d253 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Suit.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino; + +public enum Suit { +} diff --git a/src/test/java/io/zipcoder/casino/CardTest.java b/src/test/java/io/zipcoder/casino/CardTest.java new file mode 100644 index 00000000..f9c756d8 --- /dev/null +++ b/src/test/java/io/zipcoder/casino/CardTest.java @@ -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); + } + +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/casino/CasinoTest.java b/src/test/java/io/zipcoder/casino/CasinoTest.java index e9286523..eaed2c04 100644 --- a/src/test/java/io/zipcoder/casino/CasinoTest.java +++ b/src/test/java/io/zipcoder/casino/CasinoTest.java @@ -1,5 +1,10 @@ package io.zipcoder.casino; +import org.junit.Assert; +import org.junit.Test; +import org.junit.Before; public class CasinoTest { + + } diff --git a/src/test/java/io/zipcoder/casino/RankTest.java b/src/test/java/io/zipcoder/casino/RankTest.java new file mode 100644 index 00000000..42f2011e --- /dev/null +++ b/src/test/java/io/zipcoder/casino/RankTest.java @@ -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); + } + + + +} diff --git a/src/test/java/io/zipcoder/casino/SuitTest.java b/src/test/java/io/zipcoder/casino/SuitTest.java new file mode 100644 index 00000000..862acdd4 --- /dev/null +++ b/src/test/java/io/zipcoder/casino/SuitTest.java @@ -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); + } +} \ No newline at end of file From 509473b8488789fa2992b8494752cf66c41312de Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Wed, 21 Feb 2018 16:49:06 -0500 Subject: [PATCH 6/8] Fixed card interface --- src/main/java/io/zipcoder/casino/CardGameInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/CardGameInterface.java b/src/main/java/io/zipcoder/casino/CardGameInterface.java index cd79276f..42c8fe83 100644 --- a/src/main/java/io/zipcoder/casino/CardGameInterface.java +++ b/src/main/java/io/zipcoder/casino/CardGameInterface.java @@ -3,7 +3,7 @@ import java.util.ArrayList; public interface CardGameInterface { - ArrayList<> deck; + ArrayList deck; int checkNumberOfCards(); void dealCards(); From 546795521f7252dbb9fd8916820ed321a84a2d79 Mon Sep 17 00:00:00 2001 From: Luis Romero Date: Wed, 21 Feb 2018 16:51:16 -0500 Subject: [PATCH 7/8] fixes to get tests passing --- src/main/java/io/zipcoder/casino/Card.java | 21 +++++++++++++++ src/main/java/io/zipcoder/casino/Rank.java | 31 ++++++++++++++++++++++ src/main/java/io/zipcoder/casino/Suit.java | 22 +++++++++++++++ 3 files changed, 74 insertions(+) diff --git a/src/main/java/io/zipcoder/casino/Card.java b/src/main/java/io/zipcoder/casino/Card.java index f9b9bddf..7a31700f 100644 --- a/src/main/java/io/zipcoder/casino/Card.java +++ b/src/main/java/io/zipcoder/casino/Card.java @@ -1,4 +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; + } + } diff --git a/src/main/java/io/zipcoder/casino/Rank.java b/src/main/java/io/zipcoder/casino/Rank.java index bd735914..fe546b9c 100644 --- a/src/main/java/io/zipcoder/casino/Rank.java +++ b/src/main/java/io/zipcoder/casino/Rank.java @@ -1,4 +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; + } + } diff --git a/src/main/java/io/zipcoder/casino/Suit.java b/src/main/java/io/zipcoder/casino/Suit.java index 93f4d253..f1e981e4 100644 --- a/src/main/java/io/zipcoder/casino/Suit.java +++ b/src/main/java/io/zipcoder/casino/Suit.java @@ -1,4 +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; + } + } From b14e17c4cc2b540c4c3389f760b06c7c3a1c2262 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Wed, 21 Feb 2018 17:54:26 -0500 Subject: [PATCH 8/8] Fixed card game interface --- src/main/java/io/zipcoder/casino/CardGameInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/CardGameInterface.java b/src/main/java/io/zipcoder/casino/CardGameInterface.java index 42c8fe83..a40093f2 100644 --- a/src/main/java/io/zipcoder/casino/CardGameInterface.java +++ b/src/main/java/io/zipcoder/casino/CardGameInterface.java @@ -3,7 +3,7 @@ import java.util.ArrayList; public interface CardGameInterface { - ArrayList deck; + ArrayList deck = new ArrayList(); int checkNumberOfCards(); void dealCards();