Failed Conditions
Pull Request — master (#1)
by Jonathan
03:48
created

ClassUtilsTest::testNewReflectionClass()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
rs 10
cc 1
eloc 2
nc 1
nop 2
1
<?php
2
3
namespace Doctrine\Tests\Common\Util
4
5
{
6
    use Doctrine\Tests\DoctrineTestCase;
7
    use Doctrine\Common\Util\ClassUtils;
8
9
    class ClassUtilsTest extends DoctrineTestCase
10
    {
11
        public static function dataGetClass()
12
        {
13
            return [
14
                [\stdClass::class, \stdClass::class],
15
                [\Doctrine\Common\Util\ClassUtils::class, \Doctrine\Common\Util\ClassUtils::class],
16
                [ 'MyProject\Proxies\__CG__\stdClass', \stdClass::class],
17
                [ 'MyProject\Proxies\__CG__\OtherProject\Proxies\__CG__\stdClass', \stdClass::class],
18
                [ 'MyProject\Proxies\__CG__\Doctrine\Tests\Common\Util\ChildObject', ChildObject::class]
19
            ];
20
        }
21
22
        /**
23
         * @dataProvider dataGetClass
24
         */
25
        public function testGetRealClass($className, $expectedClassName)
26
        {
27
            self::assertEquals($expectedClassName, ClassUtils::getRealClass($className));
28
        }
29
30
        /**
31
         * @dataProvider dataGetClass
32
         */
33
        public function testGetClass($className, $expectedClassName)
34
        {
35
            $object = new $className();
36
            self::assertEquals($expectedClassName, ClassUtils::getClass($object));
37
        }
38
39
        public function testGetParentClass()
40
        {
41
            $parentClass = ClassUtils::getParentClass('MyProject\Proxies\__CG__\OtherProject\Proxies\__CG__\Doctrine\Tests\Common\Util\ChildObject');
42
            self::assertEquals('stdClass', $parentClass);
43
        }
44
45
        public function testGenerateProxyClassName()
46
        {
47
            self::assertEquals('Proxies\__CG__\stdClass', ClassUtils::generateProxyClassName('stdClass', 'Proxies'));
48
        }
49
50
        /**
51
         * @dataProvider dataGetClass
52
         */
53
        public function testNewReflectionClass($className, $expectedClassName)
54
        {
55
            $reflClass = ClassUtils::newReflectionClass($className);
56
            self::assertEquals($expectedClassName, $reflClass->getName());
57
        }
58
59
        /**
60
         * @dataProvider dataGetClass
61
         */
62
        public function testNewReflectionObject($className, $expectedClassName)
63
        {
64
            $object    = new $className;
65
            $reflClass = ClassUtils::newReflectionObject($object);
66
            self::assertEquals($expectedClassName, $reflClass->getName());
67
        }
68
    }
69
70
    class ChildObject extends \stdClass
71
    {
72
    }
73
}
74
75
namespace MyProject\Proxies\__CG__
76
77
{
78
    class stdClass extends \stdClass
79
    {
80
    }
81
}
82
83
namespace MyProject\Proxies\__CG__\Doctrine\Tests\Common\Util
84
85
{
86
    class ChildObject extends \Doctrine\Tests\Common\Util\ChildObject
87
    {
88
    }
89
}
90
91
namespace MyProject\Proxies\__CG__\OtherProject\Proxies\__CG__
92
93
{
94
    class stdClass extends \MyProject\Proxies\__CG__\stdClass
95
    {
96
    }
97
}
98
99
namespace MyProject\Proxies\__CG__\OtherProject\Proxies\__CG__\Doctrine\Tests\Common\Util
100
101
{
102
    class ChildObject extends \MyProject\Proxies\__CG__\Doctrine\Tests\Common\Util\ChildObject
103
    {
104
    }
105
}
106