/**
  * {@inheritdoc}
  */
 public function load(SuiteInterface $suite)
 {
     $suiteEvent = new SuiteEvent($suite);
     $this->executeBeforeSuiteListeners($suite, $suiteEvent);
     $this->decoratedSuiteLoader->load($suite);
     $this->executeAfterSuiteListeners($suite, $suiteEvent);
 }
 function it_executes_customized_suite_listeners(SuiteLoaderInterface $decoratedSuiteLoader, SuiteInterface $suite, BeforeSuiteListenerInterface $beforeSuiteListener, AfterSuiteListenerInterface $afterSuiteListener)
 {
     $suite->getListeners()->will(function () use($beforeSuiteListener, $afterSuiteListener) {
         (yield $beforeSuiteListener->getWrappedObject() => ['listener_option1' => 'listener_value1']);
         (yield $afterSuiteListener->getWrappedObject() => ['listener_option2' => 'listener_value2']);
     });
     $beforeSuiteListener->beforeSuite(new SuiteEvent($suite->getWrappedObject()), ['listener_option1' => 'listener_value1'])->shouldBeCalledTimes(1);
     $decoratedSuiteLoader->load($suite)->shouldBeCalled();
     $afterSuiteListener->afterSuite(new SuiteEvent($suite->getWrappedObject()), ['listener_option2' => 'listener_value2'])->shouldBeCalledTimes(1);
     $this->load($suite);
 }