new DateTimeNormalizer(),
new ObjectNormalizer($classMetadataFactory, null, null,
$extractor,
new ClassDiscriminatorFromClassMetadata($classMetadataFactory)),
],
['json' =>
new JsonEncoder()] );
$actual =
$serializer->
deserialize('{ "changed": null }', DummyUnionType::
class, 'json',
[ DateTimeNormalizer::FORMAT_KEY => \DateTimeinterface::ATOM,
]);
$this->
assertEquals((new DummyUnionType())->
setChanged(null
),
$actual, 'Union type denormalization first case failed.'
);
$actual =
$serializer->
deserialize('{ "changed": "2022-03-22T16:15:05+0000" }', DummyUnionType::
class, 'json',
[ DateTimeNormalizer::FORMAT_KEY => \DateTimeinterface::ATOM,
]);
$expectedDateTime = \DateTimeImmutable::
createFromFormat(\DateTimeinterface::ATOM, '2022-03-22T16:15:05+0000'
);
$this->
assertEquals((new DummyUnionType())->
setChanged($expectedDateTime),
$actual, 'Union type denormalization second case failed.'
);
$actual =
$serializer->
deserialize('{ "changed": false }', DummyUnionType::
class, 'json',
[ DateTimeNormalizer::FORMAT_KEY => \DateTimeinterface::ATOM,
]);