Skip to content
Snippets Groups Projects
Commit 5f44deb5 authored by Scott Langum Du Plessis's avatar Scott Langum Du Plessis
Browse files

Finished all unit tests

parent 19d7a07e
No related branches found
No related tags found
1 merge request!4Add unit tests
......@@ -23,21 +23,19 @@ public class HandOfCards {
public int getSum() {
return hand.stream()
.mapToInt(PlayingCard::getFace)
.sum();
.reduce(0, Integer::sum);
}
public String findHearts() {
StringBuilder sb = new StringBuilder();
hand.stream()
String hearts = hand.stream()
.map(PlayingCard::getAsString)
.filter(s -> s.charAt(0) == 'H')
.forEach(sb::append);
.collect(Collectors.joining(" "));
if (sb.isEmpty()) {
if (hearts.isEmpty()) {
return "No hearts";
}
return sb.toString();
return hearts.trim();
}
public boolean containsQueenOfSpades() {
......
package edu.ntnu.stud.cardgame;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class HandOfCardsTest {
HandOfCards hand;
PlayingCard card1;
PlayingCard card2;
PlayingCard card3;
PlayingCard card4;
@BeforeEach
void setHand() {
hand = new HandOfCards();
card1 = new PlayingCard('H', 12);
card2 = new PlayingCard('D', 2);
card3 = new PlayingCard('C', 7);
card4 = new PlayingCard('S', 12);
}
@Nested
class PositiveTests {
@Test
void testAddCard() {
hand.addCard(card1);
assertTrue(hand.getHand().contains(card1));
}
@Test
void testGetSum() {
hand.addCard(card1);
hand.addCard(card2);
hand.addCard(card3);
assertEquals(hand.getSum(),21);
}
@Test
void testFindHearts() {
hand.addCard(card1);
assertEquals(hand.findHearts(), card1.getAsString());
}
@Test
void testContainsQueenOfSpades(){
assertFalse(hand.containsQueenOfSpades());
hand.addCard(card4);
assertTrue(hand.containsQueenOfSpades());
}
@Test
void testContains5Flush() {
assertFalse(hand.contains5Flush());
for (int i = 0; i<5; i++){
hand.addCard(card2);
}
assertTrue(hand.contains5Flush());
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment