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

DiscoverProviderTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
wmc 2
eloc 13
c 2
b 0
f 1
dl 0
loc 24
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A test_discover_once() 0 11 1
A test_discover() 0 9 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
}