/**
  * Test dependancy
  */
 public function testCountriesAreStoredToDisk()
 {
     $conf = new AppConf();
     $html = SourceLoad::open(new URL($conf::ZEND_SITE_URL));
     $zendDirectory = new ZendDirectory($html, new ZendCountries($html), $conf);
     $zendDirectory->extract();
     $this->assertFileExists($conf->getZendCountriesPath(), "File Exists");
     $this->assertNotEmpty(file_get_contents($conf->getZendCountriesPath()));
 }
 /**
  * Test Code to bypass country code extraction
  */
 public function testCountryCodeStorageCached()
 {
     $conf = new AppConf();
     $html = SourceLoad::open(new URL(AppConf::ZEND_SITE_URL));
     $zendCountries = new ZendCountries($html, $conf);
     if (is_file($conf->getZendCountriesPath())) {
         $data = file_get_contents($conf->getZendCountriesPath());
         $zendCountries = unserialize($data);
         $data = $zendCountries->getData();
         $this->assertArrayHasKey("Malta", $data);
         $this->assertEquals(135, $data["Malta"]);
         $this->assertNotEmpty($zendCountries);
     } else {
         // No file means Get Fresh Data and rerun
         $zendCountries->extract();
         $this->assertNotEmpty($zendCountries);
         $data = $zendCountries->getData();
         $this->assertArrayHasKey("Malta", $data);
         $this->assertEquals(135, $data["Malta"]);
         file_put_contents($conf->getZendCountriesPath(), serialize($zendCountries));
         $this->assertNotEmpty(unserialize(file_get_contents($conf->getZendCountriesPath())));
     }
 }