### Question:
Round implements UnaryOperator<Stream<Player>> { protected List<Bid> getAllBids(Stream<Player> players, int prizeCard) { return players.map(p -> p.getBid(prizeCard)).collect(toList()); } Round(int prizeCard); protected  Round(); @Override Stream<Player> apply(Stream<Player> players);  }### Answer:
@Test public void testGetAllBids_Basic() { Round round = new Round(); int numCards = 12; int maxCard = numCards; List<Player> players = new ArrayList<>(); Hand h1 = new Hand(Arrays.asList(new Integer[]{1,2,3})); Player p1 = new Player("p1", strategy, maxCard, h1); Hand h2 = new Hand(Arrays.asList(new Integer[]{4,5,6})); Player p2 = new Player("p2", strategy, maxCard, h2); Hand h3 = new Hand(Arrays.asList(new Integer[]{7,8,9})); Player p3 = new Player("p3", strategy, maxCard, h3); players.add(p1); players.add(p2); players.add(p3); List<Bid> result = round.getAllBids(players.stream(), 10); assertEquals(3, result.size()); }