@Test
public void updateSessions_ofOtherWindow_createsNewSession() {

  Timeline timeline = new FakeTimeline(/* windowCount= */ 2);
  EventTime eventTime1 =
      createEventTime(timeline, /* windowIndex= */ 0, /* mediaPeriodId= */ null);
  EventTime eventTime2 =
      createEventTime(timeline, /* windowIndex= */ 1, /* mediaPeriodId= */ null);
  sessionManager.updateSessions(eventTime1);
  sessionManager.updateSessions(eventTime2);
  ArgumentCaptor<String> sessionId1 = ArgumentCaptor.forClass(String.class);
  ArgumentCaptor<String> sessionId2 = ArgumentCaptor.forClass(String.class);
  verify(mockListener).onSessionCreated(eq(eventTime1), sessionId1.capture());
  verify(mockListener).onSessionCreated(eq(eventTime2), sessionId2.capture());
  verify(mockListener).onSessionActive(eventTime1, sessionId1.getValue());
  verifyNoMoreInteractions(mockListener);
  assertThat(sessionId1).isNotEqualTo(sessionId2);
}