/**
  * Initialize the instance to test.
  *
  * @return void
  */
 public function setUp()
 {
     // initialize the application instance
     $this->application = new Application();
     // create a generic stackable for the necessary storages
     $this->data = new StackableStorage();
     $this->managers = new GenericStackable();
     $this->virtualHosts = new GenericStackable();
     $this->classLoaders = new GenericStackable();
     // create a mock instance of the naming directory
     $this->namingDirectory = new NamingDirectory();
     $this->namingDirectory->setScheme('php');
     $this->envDir = $this->namingDirectory->createSubdirectory('env');
     $this->namingDirectory->bind('php:global/foo', $this->application);
     $this->namingDirectory->bind('php:env/user', ApplicationTest::USER);
     $this->namingDirectory->bind('php:env/group', ApplicationTest::GROUP);
     $this->namingDirectory->bind('php:env/umask', ApplicationTest::UMASK);
     $this->namingDirectory->bind('php:env/tmpDirectory', ApplicationTest::GLOBAL_TMP_DIR);
     $this->namingDirectory->bind('php:env/foo/tmpDirectory', ApplicationTest::TMP_DIR);
     $this->namingDirectory->bind('php:env/baseDirectory', ApplicationTest::BASE_DIRECTORY);
     $this->namingDirectory->bind('php:env/appBase', ApplicationTest::APP_BASE);
     // inject the storages
     $this->application->injectName(ApplicationTest::NAME);
     $this->application->injectData($this->data);
     $this->application->injectManagers($this->managers);
     $this->application->injectVirtualHosts($this->virtualHosts);
     $this->application->injectClassLoaders($this->classLoaders);
     $this->application->injectNamingDirectory($this->namingDirectory);
 }