Passed
Push — master ( cbefbc...3619f4 )
by Frank
16:49 queued 06:49
created

__construct()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace EventSauce\EventSourcing\TestUtilities;
6
7
use EventSauce\EventSourcing\Message;
8
use EventSauce\EventSourcing\MessageConsumer;
9
use EventSauce\EventSourcing\Serialization\ConstructingMessageSerializer;
10
use EventSauce\EventSourcing\Serialization\MessageSerializer;
11
use PHPUnit\Framework\TestCase;
12
13
class MessageConsumerThatSerializesMessages implements MessageConsumer
14
{
15
    /**
16
     * @var MessageSerializer
17
     */
18
    private $serializer;
19
20
    public function __construct(MessageSerializer $serializer = null)
21
    {
22
        $this->serializer = $serializer ?: new ConstructingMessageSerializer();
23
    }
24
25
    public function handle(Message $message): void
26
    {
27
        $payload = $this->serializer->serializeMessage($message);
28
        $deserializedMessage = $this->serializer->unserializePayload($payload);
29
        TestCase::assertEquals($message->event(), $deserializedMessage->event());
30
    }
31
}
32