public static function fromModel(StatementModel $model) { $statement = new self(); $statement->id = $model->getId()->getValue(); $statement->actor = Object::fromModel($model->getActor()); $statement->verb = Verb::fromModel($model->getVerb()); $statement->object = Object::fromModel($model->getObject()); if (null !== $model->getTimestamp()) { $statement->created = $model->getTimestamp()->getTimestamp(); } if (null !== ($result = $model->getResult())) { $statement->result = Result::fromModel($result); } if (null !== ($authority = $model->getAuthority())) { $statement->authority = Object::fromModel($authority); } if (null !== ($context = $model->getContext())) { $statement->context = Context::fromModel($context); } if (null !== ($attachments = $model->getAttachments())) { $statement->hasAttachments = true; $statement->attachments = array(); foreach ($attachments as $attachment) { $mappedAttachment = Attachment::fromModel($attachment); $mappedAttachment->statement = $statement; $statement->attachments[] = $mappedAttachment; } } else { $statement->hasAttachments = false; } return $statement; }
public static function createFromModel(Statement $statement) { $mappedStatement = new MappedStatement(); $mappedStatement->id = $statement->getId(); $mappedStatement->actor = $statement->getActor(); $mappedStatement->verb = MappedVerb::createFromModel($statement->getVerb()); $mappedStatement->object = $statement->getObject(); $mappedStatement->result = $statement->getResult(); $mappedStatement->authority = $statement->getAuthority(); $mappedStatement->created = $statement->getCreated(); $mappedStatement->stored = $statement->getStored(); return $mappedStatement; }
private function assertStatementEquals(Statement $expected, Statement $actual, $validateId = true) { if ($validateId) { $this->assertSame($expected->getId(), $actual->getId()); } $this->assertTrue($actual->getActor()->equals($expected->getActor())); $this->assertTrue($actual->getVerb()->equals($expected->getVerb())); $this->assertTrue($actual->getObject()->equals($expected->getObject())); if (null === $expected->getResult()) { $this->assertNull($actual->getResult()); } else { $this->assertTrue($actual->getResult()->equals($expected->getResult())); } if (null === $expected->getAuthority()) { $this->assertNull($actual->getAuthority()); } else { $this->assertTrue($actual->getAuthority()->equals($expected->getAuthority())); } }