@Test
 public void gameGroupings_FullGameAcrossGames() {
   final TimeChunkProcessor processor = new TimeChunkProcessor();
   final TimeDivision fullGame =
       new TimeDivision(new GameTime(0, 0, 0), new GameTime(53, 0, 0), "Full Game");
   processor.processGameGroupings(
       new GameTimeChunker(new GameTime(0, 0, 0), new GameTime(65, 0, 0)),
       Collections.singletonList(new GameGrouping(1, 2, "Games 1-82")),
       Arrays.asList(fullGame));
 }
  @Test
  public void gameGroupings_FullGamePerGame() {
    final TimeChunkProcessor processor = new TimeChunkProcessor();
    final TimeDivision fullGame =
        new TimeDivision(new GameTime(0, 0, 0), new GameTime(53, 0, 0), "Full Game");

    final GameGrouping g1 = new GameGrouping(1, 1, "Game 1");
    final GameGrouping g2 = new GameGrouping(2, 2, "Game 2");
    processor.processGameGroupings(
        new GameTimeChunker(new GameTime(0, 0, 0), new GameTime(65, 0, 0)),
        Arrays.asList(g1, g2),
        Arrays.asList(fullGame));
  }
  @Test
  public void gameGroupings_ByQuarterAcrossGames() {
    final TimeChunkProcessor processor = new TimeChunkProcessor();
    final TimeDivision firstQuarter =
        new TimeDivision(new GameTime(0, 0, 0), new GameTime(12, 0, 0), "First Quarter");
    final TimeDivision secondQuarter =
        new TimeDivision(new GameTime(12, 0, 0), new GameTime(24, 0, 0), "Second Quarter");
    final TimeDivision thirdQuarter =
        new TimeDivision(new GameTime(24, 0, 0), new GameTime(36, 0, 0), "Third Quarter");
    final TimeDivision fourthQuarter =
        new TimeDivision(new GameTime(36, 0, 0), new GameTime(48, 0, 0), "Fourth Quarter");
    final TimeDivision overtimeQuarter =
        new TimeDivision(new GameTime(48, 0, 0), new GameTime(53, 0, 0), "Overtime");

    processor.processGameGroupings(
        new GameTimeChunker(new GameTime(0, 0, 0), new GameTime(65, 0, 0)),
        Collections.singletonList(new GameGrouping(1, 2, "Games 1-82")),
        Arrays.asList(firstQuarter, secondQuarter, thirdQuarter, fourthQuarter, overtimeQuarter));
  }
  @Test
  public void gameGroupings_ByQuarterPerGame() {
    final TimeChunkProcessor processor = new TimeChunkProcessor();
    final TimeDivision firstQuarter =
        new TimeDivision(new GameTime(0, 0, 0), new GameTime(12, 0, 0), "First Quarter");
    final TimeDivision secondQuarter =
        new TimeDivision(new GameTime(12, 0, 0), new GameTime(24, 0, 0), "Second Quarter");
    final TimeDivision thirdQuarter =
        new TimeDivision(new GameTime(24, 0, 0), new GameTime(36, 0, 0), "Third Quarter");
    final TimeDivision fourthQuarter =
        new TimeDivision(new GameTime(36, 0, 0), new GameTime(48, 0, 0), "Fourth Quarter");
    final TimeDivision overtimeQuarter =
        new TimeDivision(new GameTime(48, 0, 0), new GameTime(53, 0, 0), "Overtime");

    final GameGrouping g1 = new GameGrouping(1, 1, "Game 1");
    final GameGrouping g2 = new GameGrouping(2, 2, "Game 2");
    processor.processGameGroupings(
        new GameTimeChunker(new GameTime(0, 0, 0), new GameTime(65, 0, 0)),
        Arrays.asList(g1, g2),
        Arrays.asList(firstQuarter, secondQuarter, thirdQuarter, fourthQuarter, overtimeQuarter));
  }