1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
<?php
/*
* This file is part of the JoliNotif project.
*
* (c) Loïck Piera <pyrech@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Joli\JoliNotif\tests\Driver;
use Joli\JoliNotif\Driver\DriverInterface;
use PHPUnit\Framework\TestCase;
abstract class AbstractDriverTestCase extends TestCase
{
public function getIconDir(): string
{
return realpath(\dirname(__DIR__) . '/fixtures');
}
abstract protected function getDriver(): DriverInterface;
/**
* Call protected/private method of a class.
*
* @param object $object instantiated object that we will run method on
* @param string $methodName Method name to call
* @param array $parameters array of parameters to pass into method
*
* @return mixed method return
*/
protected function invokeMethod($object, string $methodName, array $parameters = [])
{
$reflection = new \ReflectionClass($object::class);
$method = $reflection->getMethod($methodName);
return $method->invokeArgs($object, $parameters);
}
}
|