for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace ArpTest\EventDispatcher;
use Arp\EventDispatcher\ImmutableEventDispatcher;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\EventDispatcher\ListenerProviderInterface;
/**
* @covers \Arp\EventDispatcher\ImmutableEventDispatcher
* @covers \Arp\EventDispatcher\AbstractEventDispatcher
*/
final class ImmutableEventDispatcherTest extends TestCase
{
private ListenerProviderInterface&MockObject $listenerProvider;
public function setUp(): void
$this->listenerProvider = $this->getMockForAbstractClass(ListenerProviderInterface::class);
}
public function testImplementsEventDispatcherInterface(): void
$eventDispatcher = new ImmutableEventDispatcher($this->listenerProvider);
$this->assertInstanceOf(EventDispatcherInterface::class, $eventDispatcher);
public function testDispatchOfInternalEventDispatcher(): void
$this->listenerProvider->expects($this->once())
->method('getListenersForEvent')
->willReturn([]);
$eventDispatcher->dispatch(new \stdClass());