def71e5def5d7a48d69381a2c1af74d88f8e6426
[yaffs-website] / vendor / symfony / serializer / Tests / Normalizer / ObjectToPopulateTraitTest.php
1 <?php
2
3 namespace Symfony\Component\Serializer\Tests\Normalizer;
4
5 use PHPUnit\Framework\TestCase;
6 use Symfony\Component\Serializer\Normalizer\ObjectToPopulateTrait;
7 use Symfony\Component\Serializer\Tests\Fixtures\ProxyDummy;
8
9 class ObjectToPopulateTraitTest extends TestCase
10 {
11     use ObjectToPopulateTrait;
12
13     public function testExtractObjectToPopulateReturnsNullWhenKeyIsMissing()
14     {
15         $object = $this->extractObjectToPopulate(ProxyDummy::class, array());
16
17         $this->assertNull($object);
18     }
19
20     public function testExtractObjectToPopulateReturnsNullWhenNonObjectIsProvided()
21     {
22         $object = $this->extractObjectToPopulate(ProxyDummy::class, array(
23             'object_to_populate' => 'not an object',
24         ));
25
26         $this->assertNull($object);
27     }
28
29     public function testExtractObjectToPopulateReturnsNullWhenTheClassIsNotAnInstanceOfTheProvidedClass()
30     {
31         $object = $this->extractObjectToPopulate(ProxyDummy::class, array(
32             'object_to_populate' => new \stdClass(),
33         ));
34
35         $this->assertNull($object);
36     }
37
38     public function testExtractObjectToPopulateReturnsObjectWhenEverythingChecksOut()
39     {
40         $expected = new ProxyDummy();
41         $object = $this->extractObjectToPopulate(ProxyDummy::class, array(
42             'object_to_populate' => $expected,
43         ));
44
45         $this->assertSame($expected, $object);
46     }
47 }