/**
  * @return array
  */
 public function provideEntries()
 {
     $wfStartMessage = WorkflowMessage::collectDataOf(TestUser::prototype(), 'test-case', 'localhost');
     $startMessageLogEntry = MessageLogEntry::logMessage($wfStartMessage);
     $startMessageLogEntryWithAssignedProcessId = MessageLogEntry::logMessage($wfStartMessage);
     $startMessageLogEntryWithAssignedProcessId->assignIdOfStartedProcess(ProcessId::generate());
     $startMessageLogEntryWithAssignedProcessIdSucceed = MessageLogEntry::logMessage($wfStartMessage);
     $startMessageLogEntryWithAssignedProcessIdSucceed->assignIdOfStartedProcess(ProcessId::generate());
     $startMessageLogEntryWithAssignedProcessIdFailed = MessageLogEntry::logMessage($wfStartMessage);
     $startMessageLogEntryWithAssignedProcessIdFailed->markAsFailed("Starting process failed");
     $wfMessage = WorkflowMessage::collectDataOf(TestUser::prototype(), 'test-case', 'localhost');
     $taskListPosition = TaskListPosition::at(TaskListId::linkWith(NodeName::defaultName(), ProcessId::generate()), 1);
     $wfMessage->connectToProcessTask($taskListPosition);
     $normalMessageLogEntryPending = MessageLogEntry::logMessage($wfMessage);
     $normalMessageLogEntrySucceed = MessageLogEntry::logMessage($wfMessage);
     $normalMessageLogEntrySucceed->markAsSucceed();
     $normalMessageLogEntryFailed = MessageLogEntry::logMessage($wfMessage);
     $normalMessageLogEntryFailed->markAsFailed("Processing failed");
     return [[$startMessageLogEntry], [$startMessageLogEntryWithAssignedProcessId], [$startMessageLogEntryWithAssignedProcessIdSucceed], [$startMessageLogEntryWithAssignedProcessIdFailed], [$normalMessageLogEntryPending], [$normalMessageLogEntrySucceed], [$normalMessageLogEntryFailed]];
 }
 /**
  * @param MessageLogEntry $entry
  * @return int affected rows
  */
 private function updateEntry(MessageLogEntry $entry)
 {
     return $this->connection->update(self::TABLE_NAME, $entry->toArray(), ["message_id" => $entry->messageId()->toString()]);
 }