}
public void testIfAllMovesTheSameChooseLowestValueCard() {
Deal game = new Deal(NoTrump.i());
game.getPlayer(Direction.WEST_DEPRECATED).init(new Card[] { Ace.of(Spades.i()), Queen.of(Spades.i()) });
game.getPlayer(Direction.NORTH_DEPRECATED).init(new Card[] { Six.of(Spades.i()), Four.of(Spades.i()) });
game.getPlayer(Direction.EAST_DEPRECATED).init(new Card[] { Ten.of(Hearts.i()), Three.of(Hearts.i()) });
game.getPlayer(Direction.SOUTH_DEPRECATED).init(new Card[] { Six.of(Hearts.i()), Two.of(Hearts.i()) });
game.setNextToPlay(Direction.WEST_DEPRECATED);
DoubleDummySolver pruned = new DoubleDummySolver(game.duplicate());
// pruned.useAlphaBetaPruning(false);
pruned.search();
assertEquals(Queen.of(Spades.i()), pruned.getRoot().getBestMove().getCardPlayed());
Deal gameWithCardsFlipped = new Deal(NoTrump.i());
gameWithCardsFlipped.getPlayer(Direction.WEST_DEPRECATED).init(
new Card[] { Queen.of(Spades.i()), Ace.of(Spades.i()) });
gameWithCardsFlipped.getPlayer(Direction.NORTH_DEPRECATED).init(
new Card[] { Six.of(Spades.i()), Four.of(Spades.i()) });
gameWithCardsFlipped.getPlayer(Direction.EAST_DEPRECATED).init(
new Card[] { Ten.of(Hearts.i()), Three.of(Hearts.i()) });
gameWithCardsFlipped.getPlayer(Direction.SOUTH_DEPRECATED).init(
new Card[] { Six.of(Hearts.i()), Two.of(Hearts.i()) });
gameWithCardsFlipped.setNextToPlay(Direction.WEST_DEPRECATED);
DoubleDummySolver triangulate = new DoubleDummySolver(gameWithCardsFlipped.duplicate());
// triangulate.useAlphaBetaPruning(false);
triangulate.search();
assertEquals(Queen.of(Spades.i()), triangulate.getRoot().getBestMove().getCardPlayed());