normalizer = self::$container->get(NormalizerInterface::class); } /** * @dataProvider generateData */ public function testNormalize(?Person $person, $expected, $msg) { $normalized = $this->normalizer->normalize($person, 'docgen', ['docgen:expects' => Person::class]); $this->assertEquals($expected, $normalized, $msg); } 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']; } private const BLANK = [ 'firstname' => '', 'lastname' => '', 'altNames' => '', 'text' => '', 'birthdate' => ['short' => '', 'long' => ''], 'deathdate' => ['short' => '', 'long' => ''], 'gender' => '', 'maritalStatus' => '', 'maritalStatusDate' => ['short' => '', 'long' => ''], 'email' => '', 'firstPhoneNumber' => '', 'fixPhoneNumber' => '', 'mobilePhoneNumber' => '', 'nationality' => '', 'placeOfBirth' => '', 'memo' => '', 'numberOfChildren' => '' ]; }