/**
  * Return the "real" class name if the given class name is a proxy
  * class name.
  *
  * @param string $className
  *
  * @return string
  */
 public static function getUserClassName($className)
 {
     if (null === self::$inflector) {
         static::$inflector = new ProxyManagerClassNameInflector('');
     }
     return static::$inflector->getUserClassName($className);
 }
 /**
  * @covers \ProxyManager\Inflector\ClassNameInflector::getProxyClassName
  *
  * @dataProvider getClassAndParametersCombinations
  *
  * @param string $className
  * @param array  $parameters
  */
 public function testClassNameIsValidClassIdentifier($className, array $parameters)
 {
     $inflector = new ClassNameInflector('ProxyNS');
     $this->assertRegExp('/([a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]+)(\\\\[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]+)*/', $inflector->getProxyClassName($className, $parameters), 'Class name string is a valid class identifier');
 }
 /**
  * @covers \ProxyManager\Inflector\ClassNameInflector::getProxyClassName
  */
 public function testGeneratesCorrectClassNameWhenGivenLeadingBackslash()
 {
     $inflector = new ClassNameInflector('ProxyNS');
     $this->assertSame($inflector->getProxyClassName('\\Foo\\Bar', array('tab' => 'baz')), $inflector->getProxyClassName('Foo\\Bar', array('tab' => 'baz')));
 }