3 namespace Symfony\Component\Serializer\Tests\Normalizer;
5 use PHPUnit\Framework\TestCase;
6 use Symfony\Component\Serializer\Normalizer\ObjectToPopulateTrait;
7 use Symfony\Component\Serializer\Tests\Fixtures\ProxyDummy;
9 class ObjectToPopulateTraitTest extends TestCase
11 use ObjectToPopulateTrait;
13 public function testExtractObjectToPopulateReturnsNullWhenKeyIsMissing()
15 $object = $this->extractObjectToPopulate(ProxyDummy::class, array());
17 $this->assertNull($object);
20 public function testExtractObjectToPopulateReturnsNullWhenNonObjectIsProvided()
22 $object = $this->extractObjectToPopulate(ProxyDummy::class, array(
23 'object_to_populate' => 'not an object',
26 $this->assertNull($object);
29 public function testExtractObjectToPopulateReturnsNullWhenTheClassIsNotAnInstanceOfTheProvidedClass()
31 $object = $this->extractObjectToPopulate(ProxyDummy::class, array(
32 'object_to_populate' => new \stdClass(),
35 $this->assertNull($object);
38 public function testExtractObjectToPopulateReturnsObjectWhenEverythingChecksOut()
40 $expected = new ProxyDummy();
41 $object = $this->extractObjectToPopulate(ProxyDummy::class, array(
42 'object_to_populate' => $expected,
45 $this->assertSame($expected, $object);