@Test
  public void testWindowSizeAndSlide() {
    try {
      AccumulatingProcessingTimeWindowOperator<String, String, String> op;

      op =
          new AccumulatingProcessingTimeWindowOperator<>(
              mockFunction,
              mockKeySelector,
              StringSerializer.INSTANCE,
              StringSerializer.INSTANCE,
              5000,
              1000);
      assertEquals(5000, op.getWindowSize());
      assertEquals(1000, op.getWindowSlide());
      assertEquals(1000, op.getPaneSize());
      assertEquals(5, op.getNumPanesPerWindow());

      op =
          new AccumulatingProcessingTimeWindowOperator<>(
              mockFunction,
              mockKeySelector,
              StringSerializer.INSTANCE,
              StringSerializer.INSTANCE,
              1000,
              1000);
      assertEquals(1000, op.getWindowSize());
      assertEquals(1000, op.getWindowSlide());
      assertEquals(1000, op.getPaneSize());
      assertEquals(1, op.getNumPanesPerWindow());

      op =
          new AccumulatingProcessingTimeWindowOperator<>(
              mockFunction,
              mockKeySelector,
              StringSerializer.INSTANCE,
              StringSerializer.INSTANCE,
              1500,
              1000);
      assertEquals(1500, op.getWindowSize());
      assertEquals(1000, op.getWindowSlide());
      assertEquals(500, op.getPaneSize());
      assertEquals(3, op.getNumPanesPerWindow());

      op =
          new AccumulatingProcessingTimeWindowOperator<>(
              mockFunction,
              mockKeySelector,
              StringSerializer.INSTANCE,
              StringSerializer.INSTANCE,
              1200,
              1100);
      assertEquals(1200, op.getWindowSize());
      assertEquals(1100, op.getWindowSlide());
      assertEquals(100, op.getPaneSize());
      assertEquals(12, op.getNumPanesPerWindow());
    } catch (Exception e) {
      e.printStackTrace();
      fail(e.getMessage());
    }
  }