Skip to content
Snippets Groups Projects
Commit 4a86c322 authored by Kjetil Karstensen Indrehus's avatar Kjetil Karstensen Indrehus
Browse files

ADD: Add method to find card in hand

parent ec8f665d
No related branches found
No related tags found
No related merge requests found
...@@ -36,8 +36,22 @@ public class Hand { ...@@ -36,8 +36,22 @@ public class Hand {
return this.hand.stream().reduce(0,(subtotal, card) -> subtotal+ card.getFace(), Integer::sum); return this.hand.stream().reduce(0,(subtotal, card) -> subtotal+ card.getFace(), Integer::sum);
} }
/**
* Method that check if the hand has hearts.
*
* @return returns an arraylist with cards that has hearts.
*/
public ArrayList<PlayingCard> getHearts(){ public ArrayList<PlayingCard> getHearts(){
return (ArrayList<PlayingCard>) this.hand.stream().filter(card -> card.getSuit() == 'H').collect(Collectors.toList()); return (ArrayList<PlayingCard>) this.hand.stream().filter(card -> card.getSuit() == 'H').collect(Collectors.toList());
} }
public PlayingCard findCard(char suit, int face){
PlayingCard result = null;
try{
result = (PlayingCard) this.hand.stream().filter(card -> card.getSuit() == suit && card.getFace()==face);
}catch (Exception ignore){}
return result;
}
} }
package Backend; package no.ntnu.cardgame.Backend;
import no.ntnu.cardgame.Backend.DeckOfCards; import no.ntnu.cardgame.Backend.DeckOfCards;
import no.ntnu.cardgame.Backend.PlayingCard; import no.ntnu.cardgame.Backend.PlayingCard;
......
package Backend; package no.ntnu.cardgame.Backend;
import no.ntnu.cardgame.Backend.DeckOfCards; import no.ntnu.cardgame.Backend.DeckOfCards;
import no.ntnu.cardgame.Backend.Hand; import no.ntnu.cardgame.Backend.Hand;
...@@ -71,4 +71,17 @@ class HandTest { ...@@ -71,4 +71,17 @@ class HandTest {
assertEquals(0,hand3.getHearts().size()); assertEquals(0,hand3.getHearts().size());
} }
@Test
@DisplayName("Test the method to find a card")
void testFindCard(){
Hand hand = new Hand(deck.dealHand(3));
PlayingCard cardNotInHand = deck.getCards().get(0);
assertNull(hand.findCard(cardNotInHand.getSuit(), cardNotInHand.getFace()));
System.out.println(hand.findCard(cardNotInHand.getSuit(), cardNotInHand.getFace()));
PlayingCard cardInDeck = hand.getHand().get(0);
assertEquals(cardInDeck,hand.findCard(cardInDeck.getSuit(),cardInDeck.getFace()));
}
} }
\ No newline at end of file
package Backend; package no.ntnu.cardgame.Backend;
import no.ntnu.cardgame.Backend.PlayingCard; import no.ntnu.cardgame.Backend.PlayingCard;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment