/** * @covers \PhpCqrs\Domain\Serializer\SerializedObject::__construct * @covers \PhpCqrs\Domain\Serializer\SerializedObject::name * @covers \PhpCqrs\Domain\Serializer\SerializedObject::payload */ public function testCanConstruct() { $name = 'stdClass'; $payload = ['payload']; $object = new SerializedObject($name, $payload); $this->assertSame($name, $object->name()); $this->assertSame($payload, $object->payload()); }
/** * @param string $aggregateId * @param string $sequence * @param string $name * @param array $payload * @param array $metaData * @param string $occurredOn */ public function __construct($aggregateId, $sequence, $name, array $payload, array $metaData, $occurredOn) { parent::__construct($name, $payload); $this->aggregateId = (string) $aggregateId; $this->sequence = (int) $sequence; $this->metaData = $metaData; $this->occurredOn = (string) $occurredOn; }
/** * @param SerializedObject $object * @return Serializable * @throws Exception */ public function deserialize(SerializedObject $object) { $name = $object->name(); return call_user_func([$name, 'deserialize'], $object->payload()); }