chandler/tests/Chandler/Eventing/EventDispatcherTest.php
2021-12-28 22:09:06 +01:00

71 lines
1.4 KiB
PHP

<?php
declare(strict_types = 1);
namespace Chandler\Tests\Chandler\Eventing;
use Chandler\Eventing\EventDispatcher;
use Chandler\Eventing\Events\Event;
use PHPUnit\Framework\TestCase;
/**
* @package Chandler\Tests\Chandler\Eventing
*/
class EventDispatcherTest extends TestCase
{
/**
* @return array
*/
public function provideMethodAddListener(): array // IMPROVE: Add more values.
{
return [
[
null,
],
];
}
/**
* @return array
*/
public function provideMethodPushEvent(): array
{
return [
[
new Event(),
],
];
}
/**
* @dataProvider provideMethodAddListener
*
* @param mixed $hook
*
* @return void
*/
public function testMethodAddListener($hook): void
{
$this->assertTrue(EventDispatcher::i()->addListener($hook));
}
/**
* @return void
*/
public function testMethodI(): void
{
$this->assertSame(EventDispatcher::i(), EventDispatcher::i());
}
/**
* @dataProvider provideMethodPushEvent
*
* @param \Chandler\Eventing\Events\Event $event
*
* @return void
*/
public function testMethodPushEvent(Event $event): void
{
$this->assertSame($event, EventDispatcher::i()->pushEvent($event));
}
}