public function testExceptionInterfaceThrownFromWriterIsCaught()
{
$originalData = array(array('foo' => 'bar'));
$reader = new ArrayReader($originalData);
$array = array();
$writer = $this->getMock('Ddeboer\\DataImport\\Writer\\ArrayWriter', array(), array(&$array));
$exception = new SourceNotFoundException("Log me!");
$writer->expects($this->once())->method('writeItem')->with($originalData[0])->will($this->throwException($exception));
$logger = $this->getMock('Psr\\Log\\LoggerInterface');
$logger->expects($this->once())->method('error')->with($exception->getMessage());
$workflow = new StepAggregator($reader);
$workflow->setLogger($logger);
$workflow->setSkipItemOnFailure(true);
$workflow->addWriter($writer);
$workflow->process();
}