Skip to content
Snippets Groups Projects
Commit 5f36e98e authored by iliya's avatar iliya
Browse files

feat: adding tests for Card class

parent 18c49164
No related branches found
No related tags found
No related merge requests found
package hepia;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
public class CardTest {
@Test
public void testCardCreation() {
ISuit suit = ColourSuit.SPADE;
int rank = 2;
int weight = 5;
Card card = new Card(suit, rank, weight);
assertEquals(suit, card.getSuit());
assertEquals(rank, card.getRank());
assertEquals(weight, card.getWeight());
}
@Test
public void random() {
assertEquals(2, 1 + 1);
public void testCardEquality() {
ISuit suit1 = ColourSuit.HEART;
int rank1 = 2;
int weight1 = 5;
Card card1 = new Card(suit1, rank1, weight1);
ISuit suit2 = ColourSuit.HEART;
int rank2 = 2;
int weight2 = 5;
Card card2 = new Card(suit2, rank2, weight2);
assertEquals(card1, card2);
}
@Test
public void testCardInequality() {
ISuit suit1 = ColourSuit.DIAMOND;
int rank1 = 4;
int weight1 = 2;
Card card1 = new Card(suit1, rank1, weight1);
ISuit suit2 = ColourSuit.CLUB;
int rank2 = 3;
int weight2 = 6;
Card card2 = new Card(suit2, rank2, weight2);
assertNotEquals(card1, card2);
}
@Test
public void testInvalidToString() {
ISuit suit = ColourSuit.DIAMOND;
int rank = 2;
Card card = new Card(suit, rank);
assertNotEquals("2 de Trèfle", card.toString());
}
@Test
public void testValidToString() {
ISuit suit = ColourSuit.SPADE;
int rank = 14;
Card card = new Card(suit, rank);
assertEquals("Roi de Pique", card.toString());
}
@Test
public void testInvalidCardCreationWithInvalidRank() {
ISuit suit = ColourSuit.HEART;
int invalidRank = 20;
assertThrows(RuntimeException.class, () -> new Card(suit, invalidRank));
}
@Test
public void testInvalidCardCreationWithMismatchedRankAndSpecialSuit() {
ISuit suit = SpecialSuit.EXCUSE;
int rank = 2;
assertThrows(RuntimeException.class, () -> new Card(suit, rank));
}
@Test
public void InvalidCardCreation() {
assertThrows(RuntimeException.class, () -> new Card(SpecialSuit.JOKER, 2));
public void testInvalidCardCreationWithMismatchedRankAndColourSuit() {
ISuit suit = ColourSuit.HEART;
int rank = 0;
assertThrows(RuntimeException.class, () -> new Card(suit, rank));
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment