@Test
public void testDeal_Table_Basic() {

    Dealer dealer = new Dealer();
    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);
    // test (use new numCards value)
    Table table = dealer.deal(20, players);
    assertEquals(5, table.getKitty().cardsAsIntStream().count());
    assertEquals(5, table.getPlayers().get(0).getNumCardsInHand());
    assertEquals(5, table.getPlayers().get(1).getNumCardsInHand());
    assertEquals(5, table.getPlayers().get(2).getNumCardsInHand());
}