12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- /*
- * This file is part of object-reflector.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- declare(strict_types=1);
- namespace SebastianBergmann\ObjectReflector;
- use PHPUnit\Framework\TestCase;
- use SebastianBergmann\ObjectReflector\TestFixture\ChildClass;
- use SebastianBergmann\ObjectReflector\TestFixture\ClassWithIntegerAttributeName;
- /**
- * @covers SebastianBergmann\ObjectReflector\ObjectReflector
- */
- class ObjectReflectorTest extends TestCase
- {
- /**
- * @var ObjectReflector
- */
- private $objectReflector;
- protected function setUp()/*: void */
- {
- $this->objectReflector = new ObjectReflector;
- }
- public function testReflectsAttributesOfObject()/*: void */
- {
- $o = new ChildClass;
- $this->assertEquals(
- [
- 'privateInChild' => 'private',
- 'protectedInChild' => 'protected',
- 'publicInChild' => 'public',
- 'undeclared' => 'undeclared',
- 'SebastianBergmann\ObjectReflector\TestFixture\ParentClass::privateInParent' => 'private',
- 'SebastianBergmann\ObjectReflector\TestFixture\ParentClass::protectedInParent' => 'protected',
- 'SebastianBergmann\ObjectReflector\TestFixture\ParentClass::publicInParent' => 'public',
- ],
- $this->objectReflector->getAttributes($o)
- );
- }
- public function testReflectsAttributeWithIntegerName()/*: void */
- {
- $o = new ClassWithIntegerAttributeName;
- $this->assertEquals(
- [
- 1 => 2
- ],
- $this->objectReflector->getAttributes($o)
- );
- }
- public function testRaisesExceptionWhenPassedArgumentIsNotAnObject()/*: void */
- {
- $this->expectException(InvalidArgumentException::class);
- $this->objectReflector->getAttributes(null);
- }
- }
|