public function testSerialization() { $authors = new Authors([new Author('first', 'last')]); $serialized = $authors->serialize(); $deserialized = Authors::deserialize($serialized); self::assertEquals($authors, $deserialized); }
/** * @param array $data * @return Book */ public static function deserialize(array $data) { assert(array_key_exists('id', $data)); assert(array_key_exists('authors', $data)); assert(array_key_exists('title', $data)); assert(array_key_exists('isbn', $data)); assert(array_key_exists('available', $data)); assert(array_key_exists('version', $data)); return new self(Uuid::deserialize($data['id']), Authors::deserialize($data['authors']), $data['title'], $data['isbn'], $data['available'], $data['version']); }