/**
  * Test if the crontab file is parsed.
  */
 public function testParseCrontab()
 {
     /* Create fake crontabAdapter */
     $fakeCrontabAdapter = $this->getMock('TiBeN\\CrontabManager\\CrontabAdapter');
     $fakeCrontabAdapter->expects($this->any())->method('readCrontab')->will($this->returnValue(file_get_contents($this->fixturesPath . 'testing_read_crontab.txt')));
     /* Create expected crontabJobs */
     $expectedCrontabJob1 = new CrontabJob();
     $expectedCrontabJob1->minutes = '30';
     $expectedCrontabJob1->hours = '23';
     $expectedCrontabJob1->dayOfMonth = '*';
     $expectedCrontabJob1->months = '*';
     $expectedCrontabJob1->dayOfWeek = '*';
     $expectedCrontabJob1->taskCommandLine = 'df >> /tmp/df.log';
     $expectedCrontabJob1->comments = 'first crontabJob';
     $expectedCrontabJob2 = new CrontabJob();
     $expectedCrontabJob2->minutes = '0';
     $expectedCrontabJob2->hours = '0';
     $expectedCrontabJob2->dayOfMonth = '28-31';
     $expectedCrontabJob2->months = '*';
     $expectedCrontabJob2->dayOfWeek = '*';
     $expectedCrontabJob2->taskCommandLine = '[ `/bin/date +\\%d` -gt `/bin/date +\\%d -d "1 day"` ] && df >> /tmp/df.log';
     $expectedCrontabJob2->comments = 'second crontabJob';
     $expectedCrontabJob3 = new CrontabJob();
     $expectedCrontabJob3->shortCut = 'hourly';
     $expectedCrontabJob3->taskCommandLine = 'df > /tmp/df_`date +\\%d_\\%m_\\%Y_\\%H_\\%M`.log';
     $expectedCrontabJob3->comments = 'third crontabJob';
     $expectedCrontabJobs = array($expectedCrontabJob1, $expectedCrontabJob2, $expectedCrontabJob3);
     $crontabRepository = new CrontabRepository($fakeCrontabAdapter);
     $crontabJobs = $crontabRepository->getJobs();
     $this->assertEquals($expectedCrontabJobs, $crontabJobs);
 }