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

Commit

Permalink
Simplify test class with EqualsVerifier
Browse files Browse the repository at this point in the history
  • Loading branch information
StrangerCoug committed Oct 7, 2023
1 parent d2cfe7b commit 7c8b11e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 65 deletions.
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@
<artifactId>mockito-core</artifactId>
<version>5.6.0</version>
</dependency>
<dependency>
<groupId>nl.jqno.equalsverifier</groupId>
<artifactId>equalsverifier</artifactId>
<version>3.15.2</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@

import com.github.strangercoug.freecasino.enums.CardRank;
import com.github.strangercoug.freecasino.enums.CardSuit;
import nl.jqno.equalsverifier.EqualsVerifier;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import java.util.LinkedList;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.greaterThan;
import static org.junit.jupiter.api.Assertions.assertThrows;

class CardTest {
Expand Down Expand Up @@ -61,69 +60,8 @@ void testOutranksNull() {
}

@Test
void testEqualsAndHashCode() {
Card card1 = new Card(CardRank.ACE, CardSuit.SPADES);
Card card2 = new Card(CardRank.ACE, CardSuit.SPADES);
assertThat(card1.equals(card2), equalTo(true));
assertThat(card1.hashCode(), equalTo(card2.hashCode()));
}

@Test
void testEqualsAndHashCodeDifferentRank() {
Card card1 = new Card(CardRank.TWO, CardSuit.SPADES);
Card card2 = new Card(CardRank.ACE, CardSuit.SPADES);
assertThat(card1.equals(card2), equalTo(false));
assertThat(card1.hashCode(), not(equalTo(card2.hashCode())));
}

@Test
void testEqualsAndHashCodeDifferentSuit() {
Card card1 = new Card(CardRank.ACE, CardSuit.CLUBS);
Card card2 = new Card(CardRank.ACE, CardSuit.SPADES);
assertThat(card1.equals(card2), equalTo(false));
assertThat(card1.hashCode(), not(equalTo(card2.hashCode())));
}

@Test
void testEqualityWithNull() {
Card card = new Card(CardRank.ACE, CardSuit.SPADES);
Object nullObject = null;
assertThat(card.equals(nullObject), equalTo(false));
}

@Test
void testEqualityWithInconvertibleType() {
Card card = new Card(CardRank.ACE, CardSuit.SPADES);
Dice dice = new Dice();
assertThat(card.equals(dice), equalTo(false));
}

@Test
void testCompareToSameCard() {
Card card1 = new Card(CardRank.ACE, CardSuit.SPADES);
Card card2 = new Card(CardRank.ACE, CardSuit.SPADES);
assertThat(card1.compareTo(card2), equalTo(0));
}

@Test
void testCompareToDifferentRank() {
Card card1 = new Card(CardRank.TWO, CardSuit.SPADES);
Card card2 = new Card(CardRank.ACE, CardSuit.SPADES);
assertThat(card2.compareTo(card1), greaterThan(0));
}


@Test
void testCompareToDifferentSuit() {
Card card1 = new Card(CardRank.ACE, CardSuit.CLUBS);
Card card2 = new Card(CardRank.ACE, CardSuit.SPADES);
assertThat(card2.compareTo(card1), greaterThan(0));
}

@Test
void testCompareToNull() {
Card card = new Card(CardRank.ACE, CardSuit.CLUBS);
assertThrows(NullPointerException.class, () -> card.compareTo(null));
void testEqualsContract() {
EqualsVerifier.forClass(Card.class).verify();
}

@Test
Expand Down

0 comments on commit 7c8b11e

Please sign in to comment.