public function testFilledFeed()
 {
     $time = time();
     $messages = array($this->createMessage('message1', 'Eerste bericht', 1, $time), $this->createMessage('message2', 'Tweede bericht', 2, $time), $this->createMessage('message3', 'Derde bericht', 3, $time));
     $this->server->expects($this->any())->method('search')->will($this->returnValue($messages));
     $this->obj->createFeed('/tmp', 'feed.xml', 'http://www.example.com', 3);
     $files = array('feed.xml', '1.html', '2.html', '3.html');
     foreach ($files as $file) {
         $this->assertFileEquals(__DIR__ . '/' . $file, '/tmp/' . $file);
         @unlink('/tmp/' . $file);
     }
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $dir = $input->getOption('dir');
     $limit = '- ' . $input->getOption('limit') . ' day';
     if (!is_dir($dir)) {
         throw new RuntimeException('Dir does not exist');
     }
     $url = rtrim($input->getOption('url'), '/') . '/';
     $filename = $input->getOption('filename');
     $feedFile = $dir . '/' . $filename;
     $server = new Server($input->getOption('hostname'), $input->getOption('port'), $input->getOption('type'));
     $server->setAuthentication($input->getOption('username'), $input->getOption('password'));
     $feed = new Feed();
     $channel = new Channel();
     $channel->title($input->getOption('title'))->description($input->getOption('description'))->url($url . $filename)->appendTo($feed);
     $generator = new EmailFeedGenerator($server, $feed, $channel);
     $generator->createFeed($dir, $filename, $url, $limit);
     $output->writeln('Succesfully generated ' . $feedFile);
 }