ContainerTest   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 84
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 44
dl 0
loc 84
rs 10
c 1
b 0
f 0
wmc 7

7 Methods

Rating   Name   Duplication   Size   Complexity  
A testAddPublisher() 0 12 1
A testReAddConsumer() 0 10 1
A testConsumerPublisherIntersection() 0 14 1
A testNoConsumer() 0 6 1
A testNoPublisher() 0 6 1
A testAddConsumer() 0 12 1
A testReAddPublisher() 0 10 1
1
<?php
2
namespace NeedleProject\LaravelRabbitMq;
3
4
use PHPUnit\Framework\TestCase;
5
6
class ContainerTest extends TestCase
7
{
8
    public function testAddPublisher()
9
    {
10
        $publisherMock = $this->getMockBuilder(PublisherInterface::class)
11
            ->getMock();
12
13
        $container = new Container();
14
        $container->addPublisher('foo', $publisherMock);
15
16
        $this->assertTrue($container->hasPublisher('foo'));
17
        $this->assertEquals(1, count($container->getPublishers()));
18
19
        $this->assertEquals($publisherMock, $container->getPublisher('foo'));
20
    }
21
22
    public function testReAddPublisher()
23
    {
24
        $publisherMock = $this->getMockBuilder(PublisherInterface::class)
25
            ->getMock();
26
27
        $container = new Container();
28
        $container->addPublisher('foo', $publisherMock);
29
        $container->addPublisher('foo', $publisherMock);
30
31
        $this->assertEquals(1, count($container->getPublishers()));
32
    }
33
34
    public function testNoPublisher()
35
    {
36
        $container = new Container();
37
        $this->assertEquals(0, count($container->getPublishers()));
38
        $this->assertEmpty($container->getPublishers());
39
        $this->assertFalse($container->hasPublisher('foo'));
40
    }
41
42
    public function testAddConsumer()
43
    {
44
        $consumerMock = $this->getMockBuilder(ConsumerInterface::class)
45
            ->getMock();
46
47
        $container = new Container();
48
        $container->addConsumer('foo', $consumerMock);
49
50
        $this->assertTrue($container->hasConsumer('foo'));
51
        $this->assertEquals(1, count($container->getConsumers()));
52
53
        $this->assertEquals($consumerMock, $container->getConsumer('foo'));
54
    }
55
56
    public function testReAddConsumer()
57
    {
58
        $consumerMock = $this->getMockBuilder(ConsumerInterface::class)
59
            ->getMock();
60
61
        $container = new Container();
62
        $container->addConsumer('foo', $consumerMock);
63
        $container->addConsumer('foo', $consumerMock);
64
65
        $this->assertEquals(1, count($container->getConsumers()));
66
    }
67
68
    public function testNoConsumer()
69
    {
70
        $container = new Container();
71
        $this->assertEquals(0, count($container->getConsumers()));
72
        $this->assertEmpty($container->getConsumers());
73
        $this->assertFalse($container->hasPublisher('foo'));
74
    }
75
76
    public function testConsumerPublisherIntersection()
77
    {
78
        $consumerMock = $this->getMockBuilder(ConsumerInterface::class)
79
            ->getMock();
80
81
        $publisherMock = $this->getMockBuilder(PublisherInterface::class)
82
            ->getMock();
83
84
        $container = new Container();
85
        $container->addPublisher('foo', $publisherMock);
86
        $container->addConsumer('bar', $consumerMock);
87
88
        $this->assertFalse($container->hasPublisher('bar'));
89
        $this->assertFalse($container->hasConsumer('foo'));
90
    }
91
}
92