testFullDeck(Suit.SPADE, numberOfWizards, numberOfTrump);
testFullDeck(Suit.DIAMOND, numberOfWizards, numberOfTrump);
}
private void testFullDeck(Suit trump, int numberOfWizards, int numberOfTrump) {
WizardCardGraph wct = getFullWizardTree(trump);
List<CardNode> higherCards;
// jesters
higherCards = wct.findHigherCards(WizardCardEnum.JESTER_1);
assertEquals(56, higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.JESTER_2);
assertEquals(56, higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.JESTER_3);
assertEquals(56, higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.JESTER_4);
assertEquals(56, higherCards.size());
// wizards
higherCards = wct.findHigherCards(WizardCardEnum.WIZARD_1);
assertEquals(0, higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.WIZARD_2);
assertEquals(0, higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.WIZARD_3);
assertEquals(0, higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.WIZARD_4);
assertEquals(0, higherCards.size());
// aces
int rank = 0;
higherCards = wct.findHigherCards(WizardCardEnum.ACE_HEARTS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.HEART)? rank: numberOfTrump)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.ACE_SPADES);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.SPADE)? rank: numberOfTrump)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.ACE_CLUBS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.CLUB)? rank: numberOfTrump)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.ACE_DIAMOND);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.DIAMOND)? rank: numberOfTrump)), higherCards.size());
// kings
rank = 1;
higherCards = wct.findHigherCards(WizardCardEnum.KING_HEARTS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.HEART)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.KING_SPADES);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.SPADE)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.KING_CLUBS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.CLUB)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.KING_DIAMOND);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.DIAMOND)? rank: numberOfTrump + rank)), higherCards.size());
// queen
rank = 2;
higherCards = wct.findHigherCards(WizardCardEnum.QUEEN_HEARTS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.HEART)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.QUEEN_SPADES);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.SPADE)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.QUEEN_CLUBS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.CLUB)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.QUEEN_DIAMOND);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.DIAMOND)? rank: numberOfTrump + rank)), higherCards.size());
// jack
rank = 3;
higherCards = wct.findHigherCards(WizardCardEnum.JACK_HEARTS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.HEART)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.JACK_SPADES);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.SPADE)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.JACK_CLUBS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.CLUB)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.JACK_DIAMOND);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.DIAMOND)? rank: numberOfTrump + rank)), higherCards.size());
//...
// 3's
rank = 11;
higherCards = wct.findHigherCards(WizardCardEnum.THREE_HEARTS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.HEART)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.THREE_SPADES);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.SPADE)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.THREE_CLUBS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.CLUB)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.THREE_DIAMOND);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.DIAMOND)? rank: numberOfTrump + rank)), higherCards.size());
// 2's
rank = 12;
higherCards = wct.findHigherCards(WizardCardEnum.TWO_HEARTS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.HEART)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.TWO_SPADES);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.SPADE)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.TWO_CLUBS);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.CLUB)? rank: numberOfTrump + rank)), higherCards.size());
higherCards = wct.findHigherCards(WizardCardEnum.TWO_DIAMOND);
assertEquals(numberOfWizards + ((trump != null && trump.equals(Suit.DIAMOND)? rank: numberOfTrump + rank)), higherCards.size());
}