@@ -73,6 +73,63 @@ public function testGetGeocodedDataWithRealAddress()
7373 $ this ->assertNull ($ result ['timezone ' ]);
7474 }
7575
76+ public function testGetGeocodedDataWithRealAddressThatDoesNotReturnStreet ()
77+ {
78+ $ api_key = $ this ->getApiKey ('GEOCODIO_API_KEY ' );
79+
80+ if ($ api_key === false ) {
81+ $ this ->markTestSkipped (self ::MISSING_API_KEY );
82+ }
83+
84+ $ provider = new GeocodioProvider ($ this ->getAdapter (), $ api_key );
85+ //Geocodio currently incorrectly parses this address, but Geocodio does know of the bug
86+ $ results = $ provider ->getGeocodedData ('386 Branam Rd Old Fort TN 37362 ' );
87+
88+ $ this ->assertInternalType ('array ' , $ results );
89+
90+ $ result = $ results [0 ];
91+ $ this ->assertEquals (35.049196999999999 , $ result ['latitude ' ], '' , 0.01 );
92+ $ this ->assertEquals (-84.735365999999999 , $ result ['longitude ' ], '' , 0.01 );
93+ $ this ->assertNull ($ result ['bounds ' ]);
94+ $ this ->assertEquals ('386 ' , $ result ['streetNumber ' ]);
95+ $ this ->assertEquals ('Branam Rd Old Ft ' , $ result ['streetName ' ]); // Testing bad parsing
96+ $ this ->assertEquals (37362 , $ result ['zipcode ' ]);
97+ $ this ->assertEquals ('Oldfort ' , $ result ['city ' ]);
98+ $ this ->assertNull ($ result ['county ' ]);
99+ $ this ->assertEquals ('TN ' , $ result ['region ' ]);
100+ $ this ->assertEquals ('US ' , $ result ['country ' ]);
101+ $ this ->assertNull ($ result ['countryCode ' ]);
102+ $ this ->assertNull ($ result ['timezone ' ]);
103+ }
104+
105+ public function testGetGeocodedDataWithRealAddressWithoutStreet ()
106+ {
107+ $ api_key = $ this ->getApiKey ('GEOCODIO_API_KEY ' );
108+
109+ if ($ api_key === false ) {
110+ $ this ->markTestSkipped (self ::MISSING_API_KEY );
111+ }
112+
113+ $ provider = new GeocodioProvider ($ this ->getAdapter (), $ api_key );
114+ $ results = $ provider ->getGeocodedData ('Old Fort TN 37362 ' );
115+
116+ $ this ->assertInternalType ('array ' , $ results );
117+
118+ $ result = $ results [0 ];
119+ $ this ->assertEquals (35.049196999999999 , $ result ['latitude ' ], '' , 0.01 );
120+ $ this ->assertEquals (-84.735365999999999 , $ result ['longitude ' ], '' , 0.01 );
121+ $ this ->assertNull ($ result ['bounds ' ]);
122+ $ this ->assertEquals ('' , $ result ['streetNumber ' ]);
123+ $ this ->assertEquals ('' , $ result ['streetName ' ]);
124+ $ this ->assertEquals (37362 , $ result ['zipcode ' ]);
125+ $ this ->assertEquals ('Oldfort ' , $ result ['city ' ]);
126+ $ this ->assertNull ($ result ['county ' ]);
127+ $ this ->assertEquals ('TN ' , $ result ['region ' ]);
128+ $ this ->assertEquals ('US ' , $ result ['country ' ]);
129+ $ this ->assertNull ($ result ['countryCode ' ]);
130+ $ this ->assertNull ($ result ['timezone ' ]);
131+ }
132+
76133 /**
77134 * @expectedException \Geocoder\Exception\NoResult
78135 */
0 commit comments