145 lines
7.7 KiB
YAML
145 lines
7.7 KiB
YAML
|
name: DeserializeNestedArrayOfObjectsTest
|
||
|
class_comment: null
|
||
|
dependencies:
|
||
|
- name: TestCase
|
||
|
type: class
|
||
|
source: PHPUnit\Framework\TestCase
|
||
|
- name: PhpDocExtractor
|
||
|
type: class
|
||
|
source: Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor
|
||
|
- name: JsonEncoder
|
||
|
type: class
|
||
|
source: Symfony\Component\Serializer\Encoder\JsonEncoder
|
||
|
- name: ArrayDenormalizer
|
||
|
type: class
|
||
|
source: Symfony\Component\Serializer\Normalizer\ArrayDenormalizer
|
||
|
- name: ObjectNormalizer
|
||
|
type: class
|
||
|
source: Symfony\Component\Serializer\Normalizer\ObjectNormalizer
|
||
|
- name: Serializer
|
||
|
type: class
|
||
|
source: Symfony\Component\Serializer\Serializer
|
||
|
properties:
|
||
|
- name: animals
|
||
|
visibility: private
|
||
|
comment: "# * @dataProvider provider\n# */\n# public function testPropertyPhpDoc($class)\n\
|
||
|
# {\n# $json = <<<EOF\n# {\n# \"animals\": [\n# {\"name\": \"Bug\"}\n# ]\n# }\n\
|
||
|
# EOF;\n# $serializer = new Serializer([\n# new ObjectNormalizer(null, null, null,\
|
||
|
\ new PhpDocExtractor()),\n# new ArrayDenormalizer(),\n# ], ['json' => new JsonEncoder()]);\n\
|
||
|
# \n# /** @var Zoo|ZooImmutable $zoo */\n# $zoo = $serializer->deserialize($json,\
|
||
|
\ $class, 'json');\n# \n# self::assertCount(1, $zoo->getAnimals());\n# self::assertInstanceOf(Animal::class,\
|
||
|
\ $zoo->getAnimals()[0]);\n# }\n# \n# public function testPropertyPhpDocWithKeyTypes()\n\
|
||
|
# {\n# $json = <<<EOF\n# {\n# \"animalsInt\": [\n# {\"name\": \"Bug\"}\n# ],\n\
|
||
|
# \"animalsString\": {\n# \"animal1\": {\"name\": \"Bug\"}\n# },\n# \"animalsUnion\"\
|
||
|
: {\n# \"animal2\": {\"name\": \"Bug\"},\n# \"2\": {\"name\": \"Dog\"}\n# },\n\
|
||
|
# \"animalsGenerics\": {\n# \"animal3\": {\"name\": \"Bug\"},\n# \"3\": {\"name\"\
|
||
|
: \"Dog\"}\n# }\n# }\n# EOF;\n# $serializer = new Serializer([\n# new ObjectNormalizer(null,\
|
||
|
\ null, null, new PhpDocExtractor()),\n# new ArrayDenormalizer(),\n# ], ['json'\
|
||
|
\ => new JsonEncoder()]);\n# \n# /** @var ZooWithKeyTypes $zoo */\n# $zoo = $serializer->deserialize($json,\
|
||
|
\ ZooWithKeyTypes::class, 'json');\n# \n# self::assertCount(1, $zoo->animalsInt);\n\
|
||
|
# self::assertArrayHasKey(0, $zoo->animalsInt);\n# self::assertInstanceOf(Animal::class,\
|
||
|
\ $zoo->animalsInt[0]);\n# \n# self::assertCount(1, $zoo->animalsString);\n# self::assertArrayHasKey('animal1',\
|
||
|
\ $zoo->animalsString);\n# self::assertInstanceOf(Animal::class, $zoo->animalsString['animal1']);\n\
|
||
|
# \n# self::assertCount(2, $zoo->animalsUnion);\n# self::assertArrayHasKey('animal2',\
|
||
|
\ $zoo->animalsUnion);\n# self::assertInstanceOf(Animal::class, $zoo->animalsUnion['animal2']);\n\
|
||
|
# self::assertArrayHasKey(2, $zoo->animalsUnion);\n# self::assertInstanceOf(Animal::class,\
|
||
|
\ $zoo->animalsUnion[2]);\n# \n# self::assertCount(2, $zoo->animalsGenerics);\n\
|
||
|
# self::assertArrayHasKey('animal3', $zoo->animalsGenerics);\n# self::assertInstanceOf(Animal::class,\
|
||
|
\ $zoo->animalsGenerics['animal3']);\n# self::assertArrayHasKey(3, $zoo->animalsGenerics);\n\
|
||
|
# self::assertInstanceOf(Animal::class, $zoo->animalsGenerics[3]);\n# }\n# }\n\
|
||
|
# \n# class Zoo\n# {\n# /** @var Animal[]"
|
||
|
- name: animals
|
||
|
visibility: private
|
||
|
comment: "# * @return Animal[]\n# */\n# public function getAnimals(): array\n# {\n\
|
||
|
# return $this->animals;\n# }\n# \n# /**\n# * @param Animal[] $animals\n# */\n\
|
||
|
# public function setAnimals(array $animals)\n# {\n# $this->animals = $animals;\n\
|
||
|
# }\n# }\n# \n# class ZooImmutable\n# {\n# /** @var Animal[]"
|
||
|
- name: animalsInt
|
||
|
visibility: public
|
||
|
comment: "# * @param Animal[] $animals\n# */\n# public function __construct(array\
|
||
|
\ $animals = [])\n# {\n# $this->animals = $animals;\n# }\n# \n# /**\n# * @return\
|
||
|
\ Animal[]\n# */\n# public function getAnimals(): array\n# {\n# return $this->animals;\n\
|
||
|
# }\n# }\n# \n# class ZooWithKeyTypes\n# {\n# /** @var array<int, Animal>"
|
||
|
- name: animalsString
|
||
|
visibility: public
|
||
|
comment: '# @var array<string, Animal>'
|
||
|
- name: animalsUnion
|
||
|
visibility: public
|
||
|
comment: '# @var array<int|string, Animal>'
|
||
|
- name: animalsGenerics
|
||
|
visibility: public
|
||
|
comment: '# @var \Traversable<Animal>'
|
||
|
- name: name
|
||
|
visibility: private
|
||
|
comment: '# @var string'
|
||
|
methods:
|
||
|
- name: provider
|
||
|
visibility: public
|
||
|
parameters: []
|
||
|
comment: null
|
||
|
- name: testPropertyPhpDoc
|
||
|
visibility: public
|
||
|
parameters:
|
||
|
- name: class
|
||
|
comment: '# * @dataProvider provider'
|
||
|
- name: getAnimals
|
||
|
visibility: public
|
||
|
parameters: []
|
||
|
comment: "# @var Zoo|ZooImmutable $zoo */\n# $zoo = $serializer->deserialize($json,\
|
||
|
\ $class, 'json');\n# \n# self::assertCount(1, $zoo->getAnimals());\n# self::assertInstanceOf(Animal::class,\
|
||
|
\ $zoo->getAnimals()[0]);\n# }\n# \n# public function testPropertyPhpDocWithKeyTypes()\n\
|
||
|
# {\n# $json = <<<EOF\n# {\n# \"animalsInt\": [\n# {\"name\": \"Bug\"}\n# ],\n\
|
||
|
# \"animalsString\": {\n# \"animal1\": {\"name\": \"Bug\"}\n# },\n# \"animalsUnion\"\
|
||
|
: {\n# \"animal2\": {\"name\": \"Bug\"},\n# \"2\": {\"name\": \"Dog\"}\n# },\n\
|
||
|
# \"animalsGenerics\": {\n# \"animal3\": {\"name\": \"Bug\"},\n# \"3\": {\"name\"\
|
||
|
: \"Dog\"}\n# }\n# }\n# EOF;\n# $serializer = new Serializer([\n# new ObjectNormalizer(null,\
|
||
|
\ null, null, new PhpDocExtractor()),\n# new ArrayDenormalizer(),\n# ], ['json'\
|
||
|
\ => new JsonEncoder()]);\n# \n# /** @var ZooWithKeyTypes $zoo */\n# $zoo = $serializer->deserialize($json,\
|
||
|
\ ZooWithKeyTypes::class, 'json');\n# \n# self::assertCount(1, $zoo->animalsInt);\n\
|
||
|
# self::assertArrayHasKey(0, $zoo->animalsInt);\n# self::assertInstanceOf(Animal::class,\
|
||
|
\ $zoo->animalsInt[0]);\n# \n# self::assertCount(1, $zoo->animalsString);\n# self::assertArrayHasKey('animal1',\
|
||
|
\ $zoo->animalsString);\n# self::assertInstanceOf(Animal::class, $zoo->animalsString['animal1']);\n\
|
||
|
# \n# self::assertCount(2, $zoo->animalsUnion);\n# self::assertArrayHasKey('animal2',\
|
||
|
\ $zoo->animalsUnion);\n# self::assertInstanceOf(Animal::class, $zoo->animalsUnion['animal2']);\n\
|
||
|
# self::assertArrayHasKey(2, $zoo->animalsUnion);\n# self::assertInstanceOf(Animal::class,\
|
||
|
\ $zoo->animalsUnion[2]);\n# \n# self::assertCount(2, $zoo->animalsGenerics);\n\
|
||
|
# self::assertArrayHasKey('animal3', $zoo->animalsGenerics);\n# self::assertInstanceOf(Animal::class,\
|
||
|
\ $zoo->animalsGenerics['animal3']);\n# self::assertArrayHasKey(3, $zoo->animalsGenerics);\n\
|
||
|
# self::assertInstanceOf(Animal::class, $zoo->animalsGenerics[3]);\n# }\n# }\n\
|
||
|
# \n# class Zoo\n# {\n# /** @var Animal[] */\n# private $animals = [];\n# \n#\
|
||
|
\ /**\n# * @return Animal[]"
|
||
|
- name: setAnimals
|
||
|
visibility: public
|
||
|
parameters:
|
||
|
- name: animals
|
||
|
comment: '# * @param Animal[] $animals'
|
||
|
- name: __construct
|
||
|
visibility: public
|
||
|
parameters:
|
||
|
- name: animals
|
||
|
default: '[]'
|
||
|
comment: "# @var Animal[] */\n# private $animals = [];\n# \n# /**\n# * @param Animal[]\
|
||
|
\ $animals"
|
||
|
- name: getAnimals
|
||
|
visibility: public
|
||
|
parameters: []
|
||
|
comment: '# * @return Animal[]'
|
||
|
- name: setName
|
||
|
visibility: public
|
||
|
parameters:
|
||
|
- name: name
|
||
|
comment: "# @var array<int, Animal> */\n# public $animalsInt = [];\n# /** @var array<string,\
|
||
|
\ Animal> */\n# public $animalsString = [];\n# /** @var array<int|string, Animal>\
|
||
|
\ */\n# public $animalsUnion = [];\n# /** @var \\Traversable<Animal> */\n# public\
|
||
|
\ $animalsGenerics = [];\n# }\n# \n# class Animal\n# {\n# /** @var string */\n\
|
||
|
# private $name;\n# \n# public function getName(): ?string\n# {\n# return $this->name;\n\
|
||
|
# }\n# \n# /**\n# * @param string|null $name"
|
||
|
traits:
|
||
|
- PHPUnit\Framework\TestCase
|
||
|
- Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor
|
||
|
- Symfony\Component\Serializer\Encoder\JsonEncoder
|
||
|
- Symfony\Component\Serializer\Normalizer\ArrayDenormalizer
|
||
|
- Symfony\Component\Serializer\Normalizer\ObjectNormalizer
|
||
|
- Symfony\Component\Serializer\Serializer
|
||
|
interfaces: []
|