$test2 =
$normalizer->
denormalize($data +
['type' => 'second'
], AbstractNestedDummyWithConstructorAndDiscriminator::
class, 'any'
);
$this->
assertInstanceOf(SecondNestedDummyWithConstructorAndDiscriminator::
class,
$test2);
$this->
assertSame('quux',
$test2->quux
);
$this->
assertSame('notfoo',
$test2->notfoo
);
$this->
assertSame('baz',
$test2->baz
);
} public function testNormalizeWithNestedAttributesMixingArrayTypes() { $this->
expectException(LogicException::
class);
$this->
expectExceptionMessage('The element you are trying to set is already populated: "[one][two]"'
);
$foobar =
new AlreadyPopulatedNestedDummy();
$foobar->foo = 'foo';
$foobar->bar = 'bar';
$classMetadataFactory =
new ClassMetadataFactory(new AnnotationLoader());
$normalizer =
new ObjectNormalizer($classMetadataFactory,
new MetadataAwareNameConverter($classMetadataFactory));
$normalizer->
normalize($foobar, 'any'
);
} public function testNormalizeWithNestedAttributesElementAlreadySet() { $this->
expectException(LogicException::
class);
$this->
expectExceptionMessage('The element you are trying to set is already populated: "[one][two][three]"'
);