/**
  * Append \Test\ part to namespace
  *
  * @param string $namespace
  * @return string
  * @throws Exception
  */
 protected function appendTestDirectory($namespace)
 {
     if (false == Tools::isNamespaceValid($namespace)) {
         throw new Exception(sprintf("Invalid namespace: %s", $namespace));
     }
     $namespace = Tools::removeBackslashPrefixFromNamespace($namespace);
     $namespaceParts = explode("\\", $namespace);
     $firstParts = array_slice($namespaceParts, 0, 1);
     $secondParts = array_slice($namespaceParts, 1, count($namespaceParts) - 1);
     $newNamespaceParts = [];
     $newNamespaceParts = array_merge($newNamespaceParts, $firstParts);
     $newNamespaceParts[] = "Tests";
     $newNamespaceParts = array_merge($newNamespaceParts, $secondParts);
     return "\\" . implode("\\", $newNamespaceParts);
 }
 /**
  * Return namespace without name - for rendering namespace in class
  *
  * @return string
  * @throws Exception
  */
 public function getNamespaceWithoutNameAndBackslashPrefix()
 {
     return Tools::removeBackslashPrefixFromNamespace(Tools::getNamespaceWithoutName($this->getNamespace()));
 }
 /**
  * @dataProvider dataForMethodRemoveBackslashPrefixFromNamespace
  */
 public function testRemoveBackslashPrefixFromNamespace($namespace, $output)
 {
     $this->assertEquals($output, Tools::removeBackslashPrefixFromNamespace($namespace));
 }