/**
  * @covers \DCarbone\PHPClassBuilder\Utilities\NameUtils::isValidFunctionName
  */
 public function testReturnFalseWithInvalidFunctionNames()
 {
     $this->assertFalse(NameUtils::isValidFunctionName('91notvalid'));
     $this->assertFalse(NameUtils::isValidFunctionName('nope nope'));
     $this->assertFalse(NameUtils::isValidFunctionName(''));
     $this->assertFalse(NameUtils::isValidFunctionName(true));
     $this->assertFalse(NameUtils::isValidFunctionName(null));
     $this->assertFalse(NameUtils::isValidFunctionName(12345));
 }
 /**
  * @param array $opts
  * @return string
  * @throws \DCarbone\PHPClassBuilder\Exception\MissingNameException
  */
 public function compile(array $opts = array())
 {
     if (false === NameUtils::isValidFunctionName($this->getName())) {
         throw $this->createMissingNameException('Function name not defined at compile time');
     }
     list($type, $leadingSpaces, $includeComment, $incBody) = $this->parseCompileOpts($opts);
     switch ($type) {
         case self::COMPILETYPE_FUNCTION:
             return $this->_compileAsFunction($leadingSpaces, $includeComment, $incBody);
         case self::COMPILETYPE_CLASSMETHOD:
             return $this->_compileAsClassMethod($leadingSpaces, $includeComment, $incBody);
             // TODO: Should not be reachable, but do something?
         // TODO: Should not be reachable, but do something?
         default:
             return '';
     }
 }