/**
  * @inheritdoc
  */
 public function handle(DomainMessage $domainMessage)
 {
     $domainMessages = $this->domainMessageNormalizer->normalize($domainMessage);
     foreach ($domainMessages as $domainMessage) {
         parent::handle($domainMessage);
     }
 }
 /**
  * @param \CultuurNet\BroadwayAMQP\Normalizer\DomainMessageNormalizerInterface $normalizer
  * @return \CultuurNet\BroadwayAMQP\Normalizer\CombinedDomainMessageNormalizer
  */
 public function withNormalizer(DomainMessageNormalizerInterface $normalizer)
 {
     $c = clone $this;
     foreach ($normalizer->getSupportedEvents() as $payloadType) {
         $c->normalizers[$payloadType] = $normalizer;
     }
     return $c;
 }
 /**
  * @test
  */
 public function it_returns_a_normalized_event_stream_when_normalizers_are_set()
 {
     $normalizedDomainMessage = new DomainMessage('F68E71A1-DBB0-4542-AEE5-BD937E095F74', 2, new Metadata(), new DummyEventSubclass('F68E71A1-DBB0-4542-AEE5-BD937E095F74', 'test 123 456'), BroadwayDateTime::fromString('2015-01-02T08:40:00+0100'));
     $expectedDomainEventStream = new DomainEventStream(array($normalizedDomainMessage));
     $this->dummyNormalizer->expects($this->once())->method('normalize')->with($this->dummyDomainMessage)->willReturn($expectedDomainEventStream);
     $actualEventDomainStream = $this->combinedDomainMessageNormalizer->normalize($this->dummyDomainMessage);
     $this->assertEquals($expectedDomainEventStream, $actualEventDomainStream);
 }
 /**
  * @test
  */
 public function it_does_call_the_handle_method_of_AMQPPublisher()
 {
     $this->domainMessageNormalizer->expects($this->once())->method('normalize')->will($this->returnValue(new DomainEventStream([$this->domainMessage, $this->domainMessage])));
     $this->amqpPublisher->expects($this->exactly(2))->method('handle');
     $this->domainMessageNormalizerAMQPPublisherDecorator->handle($this->domainMessage);
 }