Completed
Pull Request — master (#2)
by Daryl
02:44
created

TestCase::reflectionMethodInvoke()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 6
rs 9.4285
cc 1
eloc 4
nc 1
nop 2
1
<?php
2
3
namespace Clubdeuce\WPLib\Components\GoogleMaps\Tests;
4
5
/**
6
 * Class TestCase
7
 * @package Clubdeuce\WPLib\Components\GoogleMaps\Tests
8
 */
9
class TestCase extends \WP_UnitTestCase {
10
11
    /**
12
     * @param $class
13
     * @param $property
14
     * @return mixed
15
     */
16
    public function getReflectionPropertyValue( $class, $property )
17
    {
18
        $reflection = new \ReflectionProperty( $class, $property );
19
        $reflection->setAccessible( true );
20
        return $reflection->getValue( $class );
21
    }
22
23
    /**
24
     * @param $class
25
     * @param $property
26
     * @param $value
27
     */
28
    public function setReflectionPropertyValue( $class, $property, $value )
29
    {
30
        $reflection = new \ReflectionProperty( $class, $property );
31
        $reflection->setAccessible( true );
32
        return $reflection->setValue( $class, $value );
33
    }
34
35
    /**
36
     * @param $class
37
     * @param $method
38
     * @return mixed
39
     */
40
    public function reflectionMethodInvoke( $class, $method )
41
    {
42
        $reflection = new \ReflectionMethod( $class, $method );
43
        $reflection->setAccessible( true );
44
        return $reflection->invoke( $class );
45
    }
46
47
    /**
48
     * @param $class
49
     * @param $method
50
     * @param $args
51
     * @return mixed
52
     */
53
    public function reflectionMethodInvokeArgs( $class, $method, $args )
54
    {
55
        $reflection = new \ReflectionMethod( $class, $method );
56
        $reflection->setAccessible( true );
57
        return $reflection->invoke( $class, $args );
58
    }
59
}