public function testWhenChangingTimeToFutureInstances()
 {
     $currentSeriesDate = new DateRange(Date::Now()->AddDays(1), Date::Now()->AddDays(2));
     $oldDates = $currentSeriesDate->AddDays(-4);
     $oldReservation = new TestReservation('old', $oldDates, 1);
     $currentInstance = new TestReservation('current', $currentSeriesDate, 2);
     $futureDates1 = $currentSeriesDate->AddDays(1);
     $futureReservation1 = new TestReservation('new1', $futureDates1, 3);
     $futureDates2 = $currentSeriesDate->AddDays(10);
     $futureReservation2 = new TestReservation('new2', $futureDates2, 4);
     $builder = new ExistingReservationSeriesBuilder();
     $builder->WithCurrentInstance($currentInstance);
     $builder->WithInstance($oldReservation);
     $builder->WithInstance($futureReservation1);
     $builder->WithInstance($futureReservation2);
     $series = $builder->Build();
     // updates
     $series->ApplyChangesTo(SeriesUpdateScope::FutureInstances);
     $series->UpdateDuration($currentSeriesDate->AddDays(1));
     //$instances = $series->Instances();
     $events = $series->GetEvents();
     //$this->assertEquals(1, count($events));
     $this->assertTrue(in_array(new InstanceUpdatedEvent($currentInstance, $series), $events));
     $this->assertTrue(in_array(new InstanceUpdatedEvent($futureReservation1, $series), $events));
     $this->assertTrue(in_array(new InstanceUpdatedEvent($futureReservation2, $series), $events));
 }