/**
  * Create service
  *
  * @param ServiceLocatorInterface $serviceLocator
  * @throws \InvalidArgumentException
  * @return mixed
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $config = $serviceLocator->get('config');
     if (!array_key_exists('prooph.link.fileconnector', $config)) {
         throw new \InvalidArgumentException('Missing prooph.link.fileconnector root config key');
     }
     if (!is_array($config['prooph.link.fileconnector'])) {
         throw new \InvalidArgumentException("Config for prooph.link.fileconnector must be an array");
     }
     if (!array_key_exists('filename_mixins', $config['prooph.link.fileconnector'])) {
         throw new \InvalidArgumentException('Missing filename_mixins in prooph.link.fileconnector config');
     }
     $fileNameMixinManager = new MixinManager(new Config($config['prooph.link.fileconnector']['filename_mixins']));
     $fileNameMixinManager->setServiceLocator($serviceLocator);
     return $fileNameMixinManager;
 }
 /**
  * @test
  */
 public function it_provides_a_now_mixin()
 {
     $mixin = $this->mixinManager->get('now');
     $this->assertInstanceOf('Prooph\\Link\\FileConnector\\Service\\FileNameRenderer\\Mixin\\NowMixin', $mixin);
 }