/** * @param array $taskListArr * @return TaskList */ public static function fromArray(array $taskListArr) { Assertion::keyExists($taskListArr, 'taskListId'); Assertion::keyExists($taskListArr, 'entries'); Assertion::isArray($taskListArr['entries']); $taskListId = TaskListId::fromString($taskListArr['taskListId']); $entries = []; foreach ($taskListArr['entries'] as $entryArr) { $entries[] = TaskListEntry::fromArray($entryArr); } return self::fromTaskListEntries($taskListId, $entries); }
/** * @param TaskListEntry $taskListEntry */ private function checkFinished(TaskListEntry $taskListEntry) { if ($this->processingCollection) { return; } if ($this->performedTasks == $this->performedSuccessful + $this->performedWithError) { if ($this->performedWithError > 0) { $this->recordThat(TaskEntryMarkedAsFailed::at($taskListEntry->taskListPosition())); } else { $this->recordThat(TaskEntryMarkedAsDone::at($taskListEntry->taskListPosition())); } } }
protected function assertEqualTaskListEntries(TaskListEntry $a, TaskListEntry $b) { $this->assertTrue($a->taskListPosition()->equals($b->taskListPosition())); $this->assertTrue($a->task()->equals($b->task())); $this->assertEquals($a->isStarted(), $b->isStarted()); $this->assertEquals($a->isRunning(), $b->isRunning()); $this->assertEquals($a->isDone(), $b->isDone()); $this->assertEquals($a->isFailed(), $b->isFailed()); $this->assertEquals(count($a->messageLog()), count($b->messageLog())); $this->assertEquals($a->getArrayCopy()['log'], $b->getArrayCopy()['log']); }
/** * @test */ public function it_can_convert_task_list_entries_to_array() { $taskList = $this->getTestTaskList(); $taskListEntryArrs = $taskList->getArrayCopyOfEntries(); $taskListEntries = []; foreach ($taskListEntryArrs as $taskListEntryArr) { $taskListEntries[] = TaskListEntry::fromArray($taskListEntryArr); } $taskListCopy = TaskList::fromTaskListEntries($taskList->taskListId(), $taskListEntries); $this->assertTrue($taskList->taskListId()->equals($taskListCopy->taskListId())); $this->assertEquals($taskList->getArrayCopyOfEntries(), $taskListCopy->getArrayCopyOfEntries()); }