'', 'lastname' => '', 'altNames' => '', 'text' => '', 'birthdate' => ['short' => '', 'long' => ''], 'deathdate' => ['short' => '', 'long' => ''], 'gender' => '', 'maritalStatus' => '', 'maritalStatusDate' => ['short' => '', 'long' => ''], 'email' => '', 'firstPhoneNumber' => '', 'fixPhoneNumber' => '', 'mobilePhoneNumber' => '', 'nationality' => '', 'placeOfBirth' => '', 'memo' => '', 'numberOfChildren' => '', ]; private NormalizerInterface $normalizer; protected function setUp() { self::bootKernel(); $this->normalizer = self::$container->get(NormalizerInterface::class); } public function generateData() { $person = new Person(); $person ->setFirstName('Renaud') ->setLastName('Mégane'); $expected = array_merge( self::BLANK, ['firstname' => 'Renaud', 'lastname' => 'Mégane', 'text' => 'Renaud Mégane', ] ); yield [$person, $expected, 'partial normalization for a person']; yield [null, self::BLANK, 'normalization for a null person']; } /** * @dataProvider generateData * * @param mixed $expected * @param mixed $msg */ public function testNormalize(?Person $person, $expected, $msg) { $normalized = $this->normalizer->normalize($person, 'docgen', ['docgen:expects' => Person::class]); $this->assertEquals($expected, $normalized, $msg); } }