function it_throws_an_exception_if_trying_to_another_listener_with_the_same_name(ListenerInterface $listener, ListenerInterface $anotherListener) { $listener->getName()->willReturn('listener_name'); $anotherListener->getName()->willReturn('listener_name'); $this->addListener($listener); $this->shouldThrow(\InvalidArgumentException::class)->during('addListener', [$listener]); $this->shouldThrow(\InvalidArgumentException::class)->during('addListener', [$anotherListener]); }
/** * @param ListenerInterface $listener */ public function addListener(ListenerInterface $listener) { Assert::keyNotExists($this->listeners, $listener->getName(), 'Listener with name "%s" is already registered.'); $this->listeners[$listener->getName()] = $listener; }