/**
  * @param SchoolYear $schoolYear
  */
 private function addEventWithin(Period $event, SchoolYear $schoolYear)
 {
     if ($event->getFirstDate() > $schoolYear->getDateStart() && $event->getLastDate() < $schoolYear->getDateEnd()) {
         $holiday = new SchoolHoliday();
         $holiday->setDateStart($event->getFirstDate());
         $holiday->setDateEnd($event->getLastDate());
         $holiday->setDescription($event->getDescription());
         $holiday->setSchoolYear($schoolYear);
         $schoolYear->addSchoolHoliday($holiday);
         $this->getEntityManager()->persist($holiday);
     }
 }
 /**
  * Ensure arbitrary periods are correctly read.
  *
  * @dataProvider providerPeriods
  * @param string $startingDate
  * @param string $endingDate
  * @param string $desc
  * @param integer $indexInCalendar
  *
  * @uses \Scheduler\Component\FileReader\ICalendarFileReader
  * @uses \Scheduler\Component\DateContainer\Period
  */
 public function testShouldHaveCorrectPeriod($startingDate, $endingDate, $desc, $indexInCalendar)
 {
     $expected = new Period(new \DateTime($startingDate), new \DateTime($endingDate), $desc);
     $event = self::$events[$indexInCalendar];
     $this->assertEquals($expected->getFirstDate(), $event->getFirstDate(), "Starting date");
     $this->assertEquals($expected->getLastDate(), $event->getLastDate(), "End date");
     $this->assertEquals($expected->getDescription(), $event->getDescription(), "Description");
 }
 /**
  * @covers ::getDescription
  */
 public function testGetDescriptionIsSameValue()
 {
     $this->assertEquals('school year', self::$period->getDescription());
 }