function test_lookup_failure() { $this->ca_full_addr = array('street_address' => "Kalervonkatu 3", 'city' => "Jyväskylä", 'country_code' => "FI"); $this->ca_geoloc = new GeoLoc($this->ca_full_addr); $ca_geocoder = new CaGeocoder(); $address = $ca_geocoder->geocode($this->ca_geoloc); $this->assertFalse($address->success); }
protected function do_geocode($address) { foreach ($this->geocoders->provider_order as $provider) { $msg = "MultiGeocoder using " . $provider; Geocoder::logger('debug', $msg); switch ($provider) { case 'google': $geocoder = new GoogleGeocoder(); break; case 'yahoo': $geocoder = new YahooGeocoder(); break; case 'us': $geocoder = new UsGeocoder(); break; case 'ca': $geocoder = new CaGeocoder(); break; default: $msg = '"' . $provider . '" is an invalid Geocode provider.'; Geocoder::logger('error', $msg); $geoloc = new GeoLoc(); $geoloc->success = false; $geoloc->street_address = $msg; return $geoloc; } $result = $geocoder->geocode($address); # This statement is for use by multi_geocoder_test only if (isset($this->geocoders->force_failure)) { foreach ($this->geocoders->force_failure as $prov) { if ($provider == $prov) { $result->success = false; } } } if ($result->success) { return $result; } } $address_str = $address instanceof GeoLoc ? $address->to_geocodeable_s() : $address; $msg = "Something has gone very wrong during the geocoding of this address: " . $address_str; Geocoder::logger('error', $msg); $geoloc = new GeoLoc(); $geoloc->success = false; $geoloc->street_address = $msg; return $geoloc; }