public function testChangingTimeForFullSeriesUpdatesAllInstanceTimes()
 {
     $repeatOptions = new RepeatDaily(1, Date::Now());
     $dateRange = DateRange::Create('2015-01-01 08:30', '2015-01-01 09:30', 'UTC');
     $instance1Date = $dateRange->AddDays(5);
     $instance2Date = $dateRange->AddDays(8);
     $instance1 = new TestReservation('123', $instance1Date, 100);
     $builder = new ExistingReservationSeriesBuilder();
     $builder->WithBookedBy(new FakeUserSession(true));
     $builder->WithRepeatOptions($repeatOptions);
     $builder->WithInstance($instance1);
     $builder->WithInstance(new TestReservation('223', $instance2Date, 101));
     $builder->WithCurrentInstance(new TestReservation('1', $dateRange, 102));
     $series = $builder->Build();
     $series->ApplyChangesTo(SeriesUpdateScope::FullSeries);
     $newDuration = DateRange::Create('2015-01-01 09:30:00', '2015-01-02 00:00:00', 'UTC');
     $series->UpdateDuration($newDuration);
     $this->assertEquals($newDuration, $series->CurrentInstance()->Duration());
     $newInstance1Start = Date::Parse('2015-01-06 09:30:00', 'UTC');
     $newInstance1End = Date::Parse('2015-01-07 00:00:00', 'UTC');
     $newInstance2Start = Date::Parse('2015-01-09 09:30:00', 'UTC');
     $newInstance2End = Date::Parse('2015-01-10 00:00:00', 'UTC');
     //		$this->assertEquals(new DateRange($newInstance1Start, $newInstance1End), $series->GetInstance($newInstance1Start)->Duration());
     //		$this->assertEquals(new DateRange($newInstance2Start, $newInstance2End), $series->GetInstance($newInstance2Start)->Duration());
     $events = $series->GetEvents();
     $this->assertTrue(in_array(new InstanceUpdatedEvent($instance1, $series), $events));
 }