/**
  * Attaches the filter responsible for the conversion to all structural elements.
  *
  * @param ProjectDescriptorBuilder $builder
  * @param Filter                   $filterManager
  *
  * @return void
  */
 private function addNamespaceFilter(ProjectDescriptorBuilder $builder, Filter $filterManager)
 {
     $filter = new LegacyNamespaceFilter($builder);
     // parse parameters
     foreach ($this->plugin->getParameters() as $param) {
         if ($param->getKey() == 'NamespacePrefix') {
             $filter->setNamespacePrefix($param->getValue());
         }
     }
     $filterManager->attach('phpDocumentor\\Descriptor\\ConstantDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\FunctionDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\InterfaceDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\TraitDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\PropertyDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\FileDescriptor', $filter);
     $filterManager->attach('phpDocumentor\\Descriptor\\ClassDescriptor', $filter);
 }
 /**
  * @covers phpDocumentor\Plugin\LegacyNamespaceConverter\LegacyNamespaceFilter::filter
  */
 public function testPrefixedNamespaceWithNamespacedClassWillNotBeModified()
 {
     $this->filter->setNamespacePrefix('Vendor');
     $descriptor = $this->createDescriptorMock();
     $descriptor->shouldReceive('getName')->andReturn('ClassName');
     $descriptor->shouldReceive('getNamespace')->andReturn('\\');
     $descriptor->shouldReceive('setName')->with('ClassName')->once();
     $descriptor->shouldReceive('setNamespace')->with('\\')->once();
     $this->filter->filter($descriptor);
     $this->assertTrue(true);
 }