RuntimeReflectionServiceTest.php in Plug 7
File
lib/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/RuntimeReflectionServiceTest.php
View source
<?php
namespace Doctrine\Tests\Common\Persistence\Mapping;
use Doctrine\Common\Persistence\Mapping\RuntimeReflectionService;
class RuntimeReflectionServiceTest extends \PHPUnit_Framework_TestCase {
private $reflectionService;
public $unusedPublicProperty;
public function setUp() {
$this->reflectionService = new RuntimeReflectionService();
}
public function testShortname() {
$this
->assertEquals("RuntimeReflectionServiceTest", $this->reflectionService
->getClassShortName(__CLASS__));
}
public function testClassNamespaceName() {
$this
->assertEquals("Doctrine\\Tests\\Common\\Persistence\\Mapping", $this->reflectionService
->getClassNamespace(__CLASS__));
}
public function testGetParentClasses() {
$classes = $this->reflectionService
->getParentClasses(__CLASS__);
$this
->assertTrue(count($classes) >= 1, "The test class " . __CLASS__ . " should have at least one parent.");
}
public function testGetParentClassesForAbsentClass() {
$this
->setExpectedException('Doctrine\\Common\\Persistence\\Mapping\\MappingException');
$this->reflectionService
->getParentClasses(__NAMESPACE__ . '\\AbsentClass');
}
public function testGetReflectionClass() {
$class = $this->reflectionService
->getClass(__CLASS__);
$this
->assertInstanceOf("ReflectionClass", $class);
}
public function testGetMethods() {
$this
->assertTrue($this->reflectionService
->hasPublicMethod(__CLASS__, "testGetMethods"));
$this
->assertFalse($this->reflectionService
->hasPublicMethod(__CLASS__, "testGetMethods2"));
}
public function testGetAccessibleProperty() {
$reflProp = $this->reflectionService
->getAccessibleProperty(__CLASS__, "reflectionService");
$this
->assertInstanceOf("ReflectionProperty", $reflProp);
$reflProp = $this->reflectionService
->getAccessibleProperty(__CLASS__, "unusedPublicProperty");
$this
->assertInstanceOf("Doctrine\\Common\\Reflection\\RuntimePublicReflectionProperty", $reflProp);
}
}