Passed
Push — master ( e140d0...d9458c )
by Gabriel
12:38
created

DiscoverProviderTest::testDiscover()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 9
rs 10
c 1
b 0
f 1
1
<?php
2
3
namespace ByTIC\EventDispatcher\Tests\ListenerProviders\Discover;
4
5
use ByTIC\EventDispatcher\ListenerProviders\Discover\DiscoverProvider;
6
use ByTIC\EventDispatcher\Tests\AbstractTest;
7
use ByTIC\EventDispatcher\Tests\Fixtures\Events\Event;
8
use Mockery\Mock;
9
10
/**
11
 * Class DiscoverProviderTest
12
 * @package ByTIC\EventDispatcher\Tests\ListenerProviders\Discover
13
 */
14
class DiscoverProviderTest extends AbstractTest
15
{
16
    public function test_discover()
17
    {
18
        $provider = new DiscoverProvider();
19
        $provider->addDiscoveryPath(TEST_FIXTURE_PATH . '/Listeners');
20
21
        $event = new Event();
22
        $listeners = $provider->getListenersForEvent($event);
23
24
        self::assertGreaterThanOrEqual(2, iterator_count($listeners));
25
    }
26
27
    public function test_discover_once()
28
    {
29
        /** @var Mock|DiscoverProvider $provider */
30
        $provider = \Mockery::mock(DiscoverProvider::class)->shouldAllowMockingProtectedMethods()->makePartial();
31
        $provider->shouldReceive('doDiscovery')->once();
32
        $provider->addDiscoveryPath(TEST_FIXTURE_PATH . '/Listeners');
33
34
        $event = new Event();
35
        $provider->getListenersForEvent($event);
36
        $provider->getListenersForEvent($event);
37
        $provider->getListenersForEvent($event);
38
    }
39
}