@Test
	public void testRemoveCard(){
		Pile pile = new Pile();
		Card card = new Card(Card.CARD_SUIT.SPADES, Card.FACE_VALUE.KING);
		pile.addCard(card);
		assertEquals("Asserting the card was removed", card, pile.removeCard(0));
		
		Pile pile2 = new Pile();
		Card card2 = new Card(Card.CARD_SUIT.DIAMONDS, Card.FACE_VALUE.EIGHT);
		Card card3 = new Card(Card.CARD_SUIT.CLUBS, Card.FACE_VALUE.JACK);
		pile2.addCard(card2);
		assertEquals("Asserting the card was not removed.", false, pile2.removeCard(card3));
		
		Pile pile3 = new Pile();
		Card card4 = new Card(Card.CARD_SUIT.HEARTS, Card.FACE_VALUE.SEVEN);

		assertEquals("Asserting there was no card to remove.", false , pile3.removeCard(card4));
		
		boolean threwCorrectException = false;
		boolean threwIncorrectException = false;
		try {
			pile3.removeCard(0);
		} catch(IndexOutOfBoundsException e){
			threwCorrectException = true;
			assertTrue("Correct exception caught.", threwCorrectException);
		} catch (Exception e) {
			threwIncorrectException = true;
			assertFalse("Unexpected exception.", threwIncorrectException);
		} finally {
			assertTrue("Didn't throw any exception.", threwCorrectException && !threwIncorrectException);
		}
	}