diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..4de62b4
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e4f6b46
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,12 @@
+/Card$1.class
+/Card.class
+/ComputerPlayer.class
+/CreateDeck.class
+/Deck.class
+/Driver.class
+/GUI$1.class
+/GUI$2.class
+/GUI.class
+/Game.class
+/Hand.class
+/Player.class
diff --git a/.project b/.project
new file mode 100644
index 0000000..0d723b2
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+
+
+ CardGame
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/Card.java b/Card.java
deleted file mode 100644
index 9fc5f77..0000000
--- a/Card.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * author : alex Torres
- * this class is the card class that will hold the suit, value and image of the card.
- * this class contains a comparator that will compare the values of 2 cards
- *
- */
-import java.util.Comparator;
-
-import javax.swing.ImageIcon;
-
-public class Card {
-
- //instance variables for cards
-
- private String suit;
- private int rank;
- private ImageIcon cardImage;
-
- //preset suits for when making cards
- public final static String hearts = "h";
- public final static String diamonds = "d";
- public final static String spade ="s";
- public final static String club ="c";
-
- //preset rank for when making cards
- public final static int ace = 1;
- public final static int two = 2;
- public final static int three =3;
- public final static int four = 4;
- public final static int five =5;
- public final static int six = 6;
- public final static int seven = 7;
- public final static int eight =8;
- public final static int nine =9;
- public final static int ten = 10;
- public final static int jack = 11;
- public final static int queen = 12;
- public final static int king = 13;
- public final static int joker = 14;
-
- //constructor that takes in a suit, rank and in image for the card
- public Card(String suit, int rank, ImageIcon image) {
- this.suit = suit;
- this.rank = rank;
- cardImage= image;
- }
-
- //get suit of the card
- public String getSuit() {
- return suit;
- }
-
- //gets the rank of the card
- public int getRank() {
- return rank;
- }
-
- //gets the rank of the card
- public ImageIcon getImage() {
- return cardImage;
- }
-
- //comparator that will compare card by value
- public static Comparator compareByValue = new Comparator() {
- //this method will compare the cards by the value.
- @Override
- public int compare (Card o1, Card o2) {
- return o1.rank - o2.rank ;
- }
- };
-
- //toString method
- @Override
- public String toString() {
- return rank + " of " + suit + "\n";
- }
-
-}
diff --git a/CardGame/.gitignore b/CardGame/.gitignore
new file mode 100644
index 0000000..d38daf7
--- /dev/null
+++ b/CardGame/.gitignore
@@ -0,0 +1,15 @@
+/Player.class
+/Hand.class
+/GUI.class
+/GUI$1.class
+/GUI$2.class
+/Game.class
+/Driver.class
+/Deck.class
+/CreateDeck.class
+/ComputerPlayer.class
+/Card$1.class
+/Card.class
+/DeckDealer.class
+/Suit.class
+/Rank.class
diff --git a/CardGame/Card.java b/CardGame/Card.java
new file mode 100644
index 0000000..c3bfd25
--- /dev/null
+++ b/CardGame/Card.java
@@ -0,0 +1,41 @@
+/*
+ * author : alex Torres
+ * this class is the card class that will hold the suit, value and image of the card.
+ * this class contains a comparator that will compare the values of 2 cards
+ *
+ */
+package CardGame;
+
+import java.util.Comparator;
+
+import javax.swing.ImageIcon;
+
+public class Card {
+ private final Suit suit;
+ private final Rank rank;
+ private final ImageIcon cardImage;
+ public Card(Suit suit, Rank rank, ImageIcon image) {
+ this.suit = suit;
+ this.rank = rank;
+ this.cardImage = image;
+ }
+ public Suit getSuit() {
+ return suit;
+ }
+ public Rank getRank() {
+ return rank;
+ }
+ public ImageIcon getImage() {
+ return cardImage;
+ }
+ public static Comparator compareByValue = new Comparator() {
+ @Override
+ public int compare(Card o1, Card o2) {
+ return o1.getRank().getValue() - o2.getRank().getValue();
+ }
+ };
+ @Override
+ public String toString() {
+ return rank + " of " + suit + "\n";
+ }
+}
diff --git a/ComputerPlayer.java b/CardGame/ComputerPlayer.java
similarity index 97%
rename from ComputerPlayer.java
rename to CardGame/ComputerPlayer.java
index 8de5f4e..1bfa20f 100644
--- a/ComputerPlayer.java
+++ b/CardGame/ComputerPlayer.java
@@ -1,3 +1,4 @@
+package CardGame;
import java.util.Random;
/*
diff --git a/CardGame/CreateDeck.java b/CardGame/CreateDeck.java
new file mode 100644
index 0000000..c31cacd
--- /dev/null
+++ b/CardGame/CreateDeck.java
@@ -0,0 +1,38 @@
+/*
+ * author Kenji Lor
+ * this class will create all 53 cards
+ * the cards will then be put into a deck.
+ */
+package CardGame;
+
+import javax.swing.ImageIcon;
+
+//this class has a static method that will return a deck of 53 cards
+public class CreateDeck {
+ public static Deck fullDeck() {
+ Deck deck = new Deck();
+
+ // Agregar cartas para cada palo
+ addSuitToDeck(deck, Card.hearts, "H");
+ addSuitToDeck(deck, Card.diamonds, "D");
+ addSuitToDeck(deck, Card.spade, "S");
+ addSuitToDeck(deck, Card.club, "C");
+
+ // Agregar Joker
+ deck.addCard(new Card("joker", Card.joker, new ImageIcon("FolderOfCards/joker.png")));
+
+ return deck;
+ }
+
+ private static void addSuitToDeck(Deck deck, String suit, String suitAbbreviation) {
+ String[] rankNames = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
+ int[] ranks = {Card.ace, Card.two, Card.three, Card.four, Card.five, Card.six,
+ Card.seven, Card.eight, Card.nine, Card.ten, Card.jack, Card.queen, Card.king};
+
+ for (int i = 0; i < ranks.length; i++) {
+ String fileName = "FolderOfCards/" + rankNames[i] + suitAbbreviation + ".png";
+ deck.addCard(new Card(suit, ranks[i], new ImageIcon(fileName)));
+ }
+ }
+
+}
diff --git a/CardGame/Deck.java b/CardGame/Deck.java
new file mode 100644
index 0000000..78d778d
--- /dev/null
+++ b/CardGame/Deck.java
@@ -0,0 +1,33 @@
+/*
+ * Author: alex torres
+ * this class will store a deck of cards. this class has an array list that will store a deck of cards.
+ */
+package CardGame;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+public class Deck {
+ private ArrayList deck;
+
+ public Deck() {
+ deck = new ArrayList(53);
+ }
+
+ public void addCard(Card card) {
+ deck.add(card);
+ }
+
+ public void shuffleDeck() {
+ Collections.shuffle(deck);
+ }
+
+ public ArrayList getDeck() {
+ return deck;
+ }
+
+ @Override
+ public String toString() {
+ return deck.toString();
+ }
+}
diff --git a/CardGame/DeckDealer.java b/CardGame/DeckDealer.java
new file mode 100644
index 0000000..312866d
--- /dev/null
+++ b/CardGame/DeckDealer.java
@@ -0,0 +1,22 @@
+package CardGame;
+
+import java.util.ArrayList;
+
+public class DeckDealer {
+
+ public ArrayList dealFirstHalf(Deck deck) {
+ ArrayList firstHalf = new ArrayList<>();
+ for (int i = 0; i < 26; i++) {
+ firstHalf.add(deck.getDeck().get(i));
+ }
+ return firstHalf;
+ }
+
+ public ArrayList dealSecondHalf(Deck deck) {
+ ArrayList secondHalf = new ArrayList<>();
+ for (int i = 26; i < 53; i++) {
+ secondHalf.add(deck.getDeck().get(i));
+ }
+ return secondHalf;
+ }
+}
diff --git a/Driver.java b/CardGame/Driver.java
similarity index 98%
rename from Driver.java
rename to CardGame/Driver.java
index bd899a3..7d5e963 100644
--- a/Driver.java
+++ b/CardGame/Driver.java
@@ -1,3 +1,4 @@
+package CardGame;
import java.util.Scanner;
//author alex torres
diff --git a/GUI.java b/CardGame/GUI.java
similarity index 98%
rename from GUI.java
rename to CardGame/GUI.java
index 3b496d2..ed230ed 100644
--- a/GUI.java
+++ b/CardGame/GUI.java
@@ -2,6 +2,8 @@
* author chris Lara-Betancourt
*
*/
+package CardGame;
+
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -111,7 +113,7 @@ public void actionPerformed(ActionEvent e) {
}
public static void main (String[] args) {
- Gui g = new GUI();
+ GUI g = new GUI();
}
diff --git a/Game.java b/CardGame/Game.java
similarity index 86%
rename from Game.java
rename to CardGame/Game.java
index d579787..f8c52f7 100644
--- a/Game.java
+++ b/CardGame/Game.java
@@ -3,6 +3,8 @@
* this is the games class that will run the game. this class will create the deck, player, and hand. this class
* will also will run each step of the game
*/
+package CardGame;
+
public class Game {
//deck of cards
@@ -38,12 +40,14 @@ public void gameSetup() {
//shuffle deck
deck.shuffleDeck();
- //create hands
- //hand for player. half the deck is delt
- playerHand = new Hand( deck.dealFirstHalf());
-
- //hand for computer player. second half is delt
- computerHand = new Hand( deck.dealSecondhalf());
+ // Instancia de DeckDealer para manejar la distribución del mazo
+ DeckDealer dealer = new DeckDealer();
+
+ // Crear la mano del jugador usando la primera mitad del mazo
+ playerHand = new Hand(dealer.dealFirstHalf(deck));
+
+ // Crear la mano del jugador de computadora usando la segunda mitad del mazo
+ computerHand = new Hand(dealer.dealSecondHalf(deck));
//add hand to players
diff --git a/Hand.java b/CardGame/Hand.java
similarity index 98%
rename from Hand.java
rename to CardGame/Hand.java
index 51219f1..6db830d 100644
--- a/Hand.java
+++ b/CardGame/Hand.java
@@ -3,6 +3,7 @@
* this class is the hand class that will hold the cards of each player
* this class has array list that will hold all the card
*/
+package CardGame;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/Player.java b/CardGame/Player.java
similarity index 98%
rename from Player.java
rename to CardGame/Player.java
index 6f23860..8690df4 100644
--- a/Player.java
+++ b/CardGame/Player.java
@@ -2,6 +2,8 @@
* author: alex torres
* this class is the player class. this player class has a hand that will store cards.
*/
+package CardGame;
+
public class Player {
//hand of player that will holds the cards
private Hand hand;
diff --git a/CardGame/Rank.java b/CardGame/Rank.java
new file mode 100644
index 0000000..ce7fc7f
--- /dev/null
+++ b/CardGame/Rank.java
@@ -0,0 +1,29 @@
+package CardGame;
+
+public enum Rank {
+ ACE(1),
+ TWO(2),
+ THREE(3),
+ FOUR(4),
+ FIVE(5),
+ SIX(6),
+ SEVEN(7),
+ EIGHT(8),
+ NINE(9),
+ TEN(10),
+ JACK(11),
+ QUEEN(12),
+ KING(13),
+ JOKER(14);
+ private final int value;
+ Rank(int value) {
+ this.value = value;
+ }
+ public int getValue() {
+ return value;
+ }
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+}
diff --git a/CardGame/Suit.java b/CardGame/Suit.java
new file mode 100644
index 0000000..037ad78
--- /dev/null
+++ b/CardGame/Suit.java
@@ -0,0 +1,19 @@
+package CardGame;
+
+public enum Suit {
+ HEARTS("hearts"),
+ DIAMONDS("diamonds"),
+ SPADES("spades"),
+ CLUBS("clubs");
+
+ private final String name;
+
+ Suit(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return name;
+ }
+}
diff --git a/CreateDeck.java b/CreateDeck.java
deleted file mode 100644
index d0b6153..0000000
--- a/CreateDeck.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * author Kenji Lor
- * this class will create all 53 cards
- * the cards will then be put into a deck.
- */
-import javax.swing.ImageIcon;
-
-//this class has a static method that will return a deck of 53 cards
-public class CreateDeck {
-
-
-
- public static Deck fullDeck() {
- //create cards to add to deck
-
- //ace
- Card heartAce = new Card(Card.hearts,Card.ace,new ImageIcon("FolderOfCards/AH.png"));
- Card diamondAce = new Card(Card.diamonds, Card.ace, new ImageIcon("FolderOfCards/AD.png"));
- Card spadeAce = new Card(Card.spade, Card.ace, new ImageIcon("FolderOfCards/AS.png"));
- Card clubAce = new Card(Card.club, Card.ace, new ImageIcon("FolderOfCards/AC.png"));
-
-
- //two
- Card heartTwo = new Card(Card.hearts, Card.two, new ImageIcon("FolderOfCards/2H.png"));
- Card diamondTwo = new Card(Card.diamonds, Card.two, new ImageIcon("FolderOfCards/2D.png"));
- Card spadeTwo = new Card(Card.spade, Card.two, new ImageIcon("FolderOfCards/2S.png"));
- Card clubTwo = new Card(Card.club, Card.two, new ImageIcon("FolderOfCards/2C.png"));
-
- //three
- Card heartThree = new Card(Card.hearts, Card.three, new ImageIcon("FolderOfCards/3H.png"));
- Card diamondThree = new Card(Card.diamonds, Card.three, new ImageIcon("FolderOfCards/3D.png"));
- Card spadeThree = new Card(Card.spade, Card.three, new ImageIcon("FolderOfCards/3S.png"));
- Card clubThree = new Card(Card.club, Card.three, new ImageIcon("FolderOfCards/3C.png"));
-
- //four
- Card heartFour = new Card(Card.hearts, Card.four, new ImageIcon("FolderOfCards/4H.png"));
- Card diamondFour = new Card(Card.diamonds, Card.four, new ImageIcon("FolderOfCards/4D.png"));
- Card spadeFour = new Card(Card.spade, Card.four, new ImageIcon("FolderOfCards/4S.png"));
- Card clubFour = new Card(Card.club, Card.four, new ImageIcon("FolderOfCards/4C.png"));
-
- //five
- Card heartFive = new Card(Card.hearts ,Card.five, new ImageIcon("FolderOfCards/5H.png"));
- Card diamondFive = new Card(Card.diamonds ,Card.five, new ImageIcon("FolderOfCards/5D.png"));
- Card spadeFive = new Card(Card.spade ,Card.five, new ImageIcon("FolderOfCards/5S.png"));
- Card clubFive = new Card(Card.club ,Card.five, new ImageIcon("FolderOfCards/5C.png"));
-
- //six
- Card heartSix = new Card(Card.hearts , Card.six, new ImageIcon("FolderOfCards/6H.png"));
- Card diamondSix = new Card(Card.diamonds , Card.six, new ImageIcon("FolderOfCards/6D.png"));
- Card spadeSix = new Card(Card.spade , Card.six, new ImageIcon("FolderOfCards/6S.png"));
- Card clubSix = new Card(Card.club , Card.six, new ImageIcon("FolderOfCards/6C.png"));
-
- //seven
- Card heartSeven = new Card(Card.hearts ,Card.seven, new ImageIcon("FolderOfCards/7H.png"));
- Card diamondSeven = new Card(Card.diamonds ,Card.seven, new ImageIcon("FolderOfCards/7D.png"));
- Card spadeSeven = new Card(Card.spade ,Card.seven, new ImageIcon("FolderOfCards/7S.png"));
- Card clubSeven = new Card(Card.club ,Card.seven, new ImageIcon("FolderOfCards/7C.png"));
-
- //eight
- Card heartEight = new Card(Card.hearts , Card.eight, new ImageIcon("FolderOfCards/8H.png"));
- Card diamondEight = new Card(Card.diamonds , Card.eight, new ImageIcon("FolderOfCards/8D.png"));
- Card spadeEight = new Card(Card.spade , Card.eight, new ImageIcon("FolderOfCards/8S.png"));
- Card clubEight = new Card(Card.club , Card.eight, new ImageIcon("FolderOfCards/8C.png"));
-
- //nine
- Card heartNine = new Card(Card.hearts , Card.nine, new ImageIcon("FolderOfCards/9H.png"));
- Card diamondNine = new Card(Card.diamonds , Card.nine, new ImageIcon("FolderOfCards/9D.png"));
- Card spadeNine = new Card(Card.spade , Card.nine, new ImageIcon("FolderOfCards/9S.png"));
- Card clubNine = new Card(Card.club , Card.nine, new ImageIcon("FolderOfCards/9C.png"));
-
- //ten
- Card heartTen = new Card (Card.hearts , Card.ten, new ImageIcon("FolderOfCards/10H.png"));
- Card diamondTen = new Card (Card.diamonds , Card.ten, new ImageIcon("FolderOfCards/10D.png"));
- Card spadeTen = new Card (Card.spade , Card.ten, new ImageIcon("FolderOfCards/10S.png"));
- Card clubTen = new Card (Card.club , Card.ten, new ImageIcon("FolderOfCards/10c.png"));
-
- //jack
- Card heartJack = new Card(Card.hearts , Card.jack, new ImageIcon("FolderOfCards/JH.png"));
- Card diamondJack = new Card(Card.diamonds , Card.jack, new ImageIcon("FolderOfCards/JD.png"));
- Card spadeJack = new Card(Card.spade, Card.jack, new ImageIcon("FolderOfCards/JS.png"));
- Card clubJack = new Card(Card.club , Card.jack, new ImageIcon("FolderOfCards/JC.png"));
-
- //queen
- Card heartQueen = new Card(Card.hearts , Card.queen, new ImageIcon("FolderOfCards/QH.png"));
- Card diamondQueen = new Card(Card.diamonds , Card.queen, new ImageIcon("FolderOfCards/QD.png"));
- Card spadeQueen = new Card(Card.spade , Card.queen, new ImageIcon("FolderOfCards/QS.png"));
- Card clubQueen = new Card(Card.club , Card.queen,new ImageIcon("FolderOfCards/QC.png"));
-
- //king
- Card heartKing = new Card(Card.hearts , Card.king, new ImageIcon("FolderOfCards/KH.png"));
- Card diamondKing = new Card(Card.diamonds , Card.king, new ImageIcon("FolderOfCards/KD.png"));
- Card spadeKing = new Card(Card.spade , Card.king, new ImageIcon("FolderOfCards/KS.png"));
- Card clubKing = new Card(Card.club , Card.king, new ImageIcon("FolderOfCards/KC.png"));
-
- //joker
- Card joker = new Card("joker", Card.joker, new ImageIcon("FolderOfCards/joker.png"));
-
- //create a new deck
- Deck deck = new Deck();
-
- //adding cards to deck
-
- //ace
- deck.addCard(heartAce);
- deck.addCard(diamondAce);
- deck.addCard(spadeAce);
- deck.addCard(clubAce);
-
- //two
- deck.addCard(heartTwo);
- deck.addCard(diamondTwo);
- deck.addCard(spadeTwo);
- deck.addCard(clubTwo);
-
-
- //three
- deck.addCard(heartThree);
- deck.addCard(diamondThree);
- deck.addCard(spadeThree);
- deck.addCard(clubThree);
-
- //four
- deck.addCard(heartFour);
- deck.addCard(diamondFour);
- deck.addCard(spadeFour);
- deck.addCard(clubFour);
-
- //five
- deck.addCard(heartFive);
- deck.addCard(diamondFive);
- deck.addCard(spadeFive);
- deck.addCard(clubFive);
-
- //six
- deck.addCard(heartSix);
- deck.addCard(diamondSix);
- deck.addCard(spadeSix);
- deck.addCard(clubSix);
-
- //seven
- deck.addCard(heartSeven);
- deck.addCard(diamondSeven);
- deck.addCard(spadeSeven);
- deck.addCard(clubSeven);
-
- //eight
- deck.addCard(heartEight);
- deck.addCard(spadeEight);
- deck.addCard(diamondEight);
- deck.addCard(clubEight);
-
- //nine
- deck.addCard(heartNine);
- deck.addCard(diamondNine);
- deck.addCard(spadeNine);
- deck.addCard(clubNine);
-
- //ten
- deck.addCard(heartTen);
- deck.addCard(diamondTen);
- deck.addCard(spadeTen);
- deck.addCard(clubTen);
-
- //jack
- deck.addCard(heartJack);
- deck.addCard(diamondJack);
- deck.addCard(spadeJack);
- deck.addCard(clubJack);
-
- //queen
- deck.addCard(heartQueen);
- deck.addCard(diamondQueen);
- deck.addCard(spadeQueen);
- deck.addCard(clubQueen);
-
- //king
- deck.addCard(heartKing);
- deck.addCard(diamondKing);
- deck.addCard(spadeKing);
- deck.addCard(clubKing);
-
- //joker
- deck.addCard(joker);
-
- return deck;
-
-
- }
-}
diff --git a/Deck.java b/Deck.java
deleted file mode 100644
index 9c3cc4e..0000000
--- a/Deck.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Author: alex torres
- * this class will store a deck of cards. this class has an array list that will store a deck of cards.
- */
-import java.util.ArrayList;
-import java.util.Collections;
-
-public class Deck {
-
- //arraylist that stores cards
- private ArrayList deck = null;
-
- //constructor that creates a deck of empty cards
- public Deck() {
- //arraylist initalized to 53 (52 = joker)
- deck = new ArrayList(53);
- }
-
- //method that adds card to deck
- public void addCard(Card card) {
- deck.add(card);
- }
-
- //method that will shuffle deck
- public void shuffleDeck() {
- Collections.shuffle(deck);
- }
- //deal first half of deck cards 1-26
- public ArrayList dealFirstHalf (){
-
- //creating an array list
- ArrayList tempHand = new ArrayList ();
-
- //for loop that will copy the first half of the deck to the array list
- for (int i =0; i < 26; i++) {
- Card tempCard = deck.get(i);
- tempHand.add(tempCard);
- }
-
- return tempHand;
- }
-
- //deal second half of the deck 27-53
- public ArrayList dealSecondhalf() {
- //creating a temp array list
- ArrayList tempHand = new ArrayList ();
-
- //for loop that will copy secound half of deck to the temp arrayList
- for (int i =26; i<53; i++) {
- //temp card
- Card tempCard = deck.get(i);
- tempHand.add(tempCard);
- }
- return tempHand;
- }
-
- @Override
- public String toString () {
- return deck.toString();
- }
-
-
-}
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 0000000..d6d951a
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1,3 @@
+/CreateDeckTest.class
+/DeckTest.class
+/CardTest.class
diff --git a/tests/CardTest.java b/tests/CardTest.java
new file mode 100644
index 0000000..c484dca
--- /dev/null
+++ b/tests/CardTest.java
@@ -0,0 +1,26 @@
+package tests;
+
+import static org.junit.Assert.*;
+
+import javax.swing.ImageIcon;
+
+import org.junit.Test;
+
+import CardGame.*;
+
+public class CardTest {
+
+ @Test
+ public void testCompareByValue_LowerRank() {
+ // Configurar
+ Card card1 = new Card(Suit.HEARTS, Rank.FIVE, new ImageIcon("5H.png"));
+ Card card2 = new Card(Suit.SPADES, Rank.TEN, new ImageIcon("10S.png"));
+
+ // Ejecutar
+ int result = Card.compareByValue.compare(card1, card2);
+
+ // Validar
+ assertEquals(-5, result);
+ }
+
+}
diff --git a/tests/CreateDeckTest.java b/tests/CreateDeckTest.java
new file mode 100644
index 0000000..a065186
--- /dev/null
+++ b/tests/CreateDeckTest.java
@@ -0,0 +1,26 @@
+package tests;
+
+import static org.junit.Assert.*;
+import org.junit.Test;
+
+import CardGame.*;
+
+
+public class CreateDeckTest {
+
+ @Test
+ public void testFullDeckCreation() {
+ // Ejecutar el método fullDeck()
+ Deck deck = CreateDeck.fullDeck();
+
+ // Verificar el número total de cartas
+ int expectedCardCount = 53; // 52 cartas estándar + 1 joker
+ assertEquals("El mazo debe contener 53 cartas.", expectedCardCount, deck.getDeck().size());
+
+ // Verificar que cada carta tiene la imagen correcta asignada
+ for (Card card : deck.getDeck()) {
+ assertNotNull("Cada carta debe tener una imagen asignada.", card.getImage());
+ }
+ }
+
+}
diff --git a/tests/DeckTest.java b/tests/DeckTest.java
new file mode 100644
index 0000000..b6196a9
--- /dev/null
+++ b/tests/DeckTest.java
@@ -0,0 +1,40 @@
+package tests;
+
+import static org.junit.Assert.*;
+
+import javax.swing.ImageIcon;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import CardGame.*;
+
+public class DeckTest {
+
+ private Deck deck;
+
+ @Before
+ public void setUp() {
+ deck = new Deck(); // Inicializar el mazo
+ }
+
+ @Test
+ public void testAddCard() {
+ ImageIcon icon = new ImageIcon("5H.png");
+ // Crear una nueva carta
+ Card newCard = new Card("hearts", 5, icon);
+
+ // Obtener el tamaño inicial del mazo
+ int initialSize = deck.getDeck().size();
+
+ // Añadir la nueva carta al mazo
+ deck.addCard(newCard);
+
+ // Verificar que el tamaño del mazo ha incrementado en 1
+ assertEquals("El tamaño del mazo debe aumentar en 1.", initialSize + 1, deck.getDeck().size());
+
+ // Verificar que la última carta en el mazo es la que se acaba de añadir
+ assertEquals("La última carta añadida debe estar en la última posición del mazo.", newCard, deck.getDeck().get(deck.getDeck().size() - 1));
+ }
+
+}