@Test
public void
    updateSessions_withoutMediaPeriodId_andPreviouslyCreatedSessions_doesNotCreateNewSession() {

  Timeline timeline = new FakeTimeline(/* windowCount= */ 1);
  MediaPeriodId mediaPeriodId1 =
      new MediaPeriodId(
          timeline.getUidOfPeriod(/* periodIndex= */ 0), /* windowSequenceNumber= */ 0);
  MediaPeriodId mediaPeriodId2 =
      new MediaPeriodId(
          timeline.getUidOfPeriod(/* periodIndex= */ 0), /* windowSequenceNumber= */ 1);
  MediaPeriodId mediaPeriodIdWithAd =
      new MediaPeriodId(
          timeline.getUidOfPeriod(/* periodIndex= */ 0),
          /* adGroupIndex= */ 0,
          /* adIndexInAdGroup= */ 0,
          /* windowSequenceNumber= */ 0);
  EventTime eventTime1 = createEventTime(timeline, /* windowIndex= */ 0, mediaPeriodId1);
  EventTime eventTime2 = createEventTime(timeline, /* windowIndex= */ 0, mediaPeriodId2);
  EventTime eventTime3 = createEventTime(timeline, /* windowIndex= */ 0, mediaPeriodIdWithAd);
  EventTime eventTime4 =
      createEventTime(timeline, /* windowIndex= */ 0, /* mediaPeriodId= */ null);
  sessionManager.updateSessions(eventTime1);
  sessionManager.updateSessions(eventTime2);
  sessionManager.updateSessions(eventTime3);
  sessionManager.updateSessions(eventTime4);
  verify(mockListener).onSessionCreated(eq(eventTime1), anyString());
  verify(mockListener).onSessionActive(eq(eventTime1), anyString());
  verify(mockListener).onSessionCreated(eq(eventTime2), anyString());
  verify(mockListener).onSessionCreated(eq(eventTime3), anyString());
  verifyNoMoreInteractions(mockListener);
}