public function testUpdateSingleInstanceToAnEarlierTime()
 {
     $now = Date::Now();
     $newStart = Date::Parse('2010-01-01 04:00:00', 'UTC');
     $start = Date::Parse('2010-01-01 05:00:00', 'UTC');
     $end = Date::Parse('2010-01-01 07:00:00', 'UTC');
     $future1 = new TestReservation('1', new DateRange($now->AddDays(5), $now->AddDays(5)));
     $future2 = new TestReservation('2', new DateRange($now->AddDays(6), $now->AddDays(6)));
     $current = new TestReservation('3', new DateRange($start, $end));
     $existing = new ExistingReservationSeries();
     $existing->WithInstance($future1);
     $existing->WithInstance($future2);
     $existing->WithCurrentInstance($current);
     $existing->ApplyChangesTo(SeriesUpdateScope::ThisInstance);
     $existing->UpdateDuration(new DateRange($newStart, $end));
     $newCurrent = $existing->CurrentInstance();
     $this->assertTrue($newCurrent->StartDate()->Equals($newStart));
     $this->assertTrue($newCurrent->EndDate()->Equals($end));
 }