8
8
use Geocoder \Laravel \Providers \GeocoderService ;
9
9
use Geocoder \Provider \Chain \Chain ;
10
10
use Geocoder \Provider \FreeGeoIp \FreeGeoIp ;
11
+ use Geocoder \Provider \MaxMindBinary \MaxMindBinary ;
11
12
use Geocoder \Provider \GoogleMaps \GoogleMaps ;
12
13
use Geocoder \Query \GeocodeQuery ;
13
14
use Geocoder \Query \ReverseQuery ;
@@ -32,59 +33,63 @@ public function testItReverseGeocodesCoordinates()
32
33
// Arrange
33
34
34
35
// Act
35
- $ result = app ('geocoder ' )->reverse (38.8791981 , -76.9818437 )->all ();
36
+ $ results = app ('geocoder ' )->reverse (38.8791981 , -76.9818437 )->get ();
36
37
37
38
// Assert
38
- $ this ->assertEquals ('1600 ' , $ result [0 ]->getStreetNumber ());
39
- $ this ->assertEquals ('Pennsylvania Avenue Southeast ' , $ result [0 ]->getStreetName ());
40
- $ this ->assertEquals ('Washington ' , $ result [0 ]->getLocality ());
41
- $ this ->assertEquals ('20003 ' , $ result [0 ]->getPostalCode ());
39
+ $ this ->assertEquals ('1600 ' , $ results ->first ()->getStreetNumber ());
40
+ $ this ->assertEquals ('Pennsylvania Avenue Southeast ' , $ results ->first ()->getStreetName ());
41
+ $ this ->assertEquals ('Washington ' , $ results ->first ()->getLocality ());
42
+ $ this ->assertEquals ('20003 ' , $ results ->first ()->getPostalCode ());
43
+ $ this ->assertTrue ($ results ->isNotEmpty ());
42
44
}
43
45
44
46
public function testItResolvesAGivenAddress ()
45
47
{
46
48
// Arrange
47
49
48
50
// Act
49
- $ result = app ('geocoder ' )
51
+ $ results = app ('geocoder ' )
50
52
->using ('chain ' )
51
53
->geocode ('1600 Pennsylvania Ave., Washington, DC USA ' )
52
- ->all ();
54
+ ->get ();
53
55
54
56
// Assert
55
- $ this ->assertEquals ('1600 ' , $ result [0 ]->getStreetNumber ());
56
- $ this ->assertEquals ('Pennsylvania Avenue Northwest ' , $ result [0 ]->getStreetName ());
57
- $ this ->assertEquals ('Washington ' , $ result [0 ]->getLocality ());
58
- $ this ->assertEquals ('20500 ' , $ result [0 ]->getPostalCode ());
57
+ $ this ->assertEquals ('1600 ' , $ results ->first ()->getStreetNumber ());
58
+ $ this ->assertEquals ('Pennsylvania Avenue Northwest ' , $ results ->first ()->getStreetName ());
59
+ $ this ->assertEquals ('Washington ' , $ results ->first ()->getLocality ());
60
+ $ this ->assertEquals ('20500 ' , $ results ->first ()->getPostalCode ());
61
+ $ this ->assertTrue ($ results ->isNotEmpty ());
59
62
}
60
63
61
64
public function testItResolvesAGivenIPAddress ()
62
65
{
63
66
// Arrange
64
67
65
68
// Act
66
- $ result = app ('geocoder ' )
69
+ $ results = app ('geocoder ' )
67
70
->geocode ('8.8.8.8 ' )
68
- ->all ();
71
+ ->get ();
69
72
70
73
// Assert
71
- $ this ->assertEquals ('US ' , $ result [0 ]->getCountry ()->getCode ());
74
+ $ this ->assertEquals ('US ' , $ results ->first ()->getCountry ()->getCode ());
75
+ $ this ->assertTrue ($ results ->isNotEmpty ());
72
76
}
73
77
74
78
public function testItResolvesAGivenAddressWithUmlauts ()
75
79
{
76
80
// Arrange
77
81
78
82
// Act
79
- $ result = app ('geocoder ' )
83
+ $ results = app ('geocoder ' )
80
84
->geocode ('Obere Donaustrasse 22, Wien, Österreich ' )
81
- ->all ();
85
+ ->get ();
82
86
83
87
// Assert
84
- $ this ->assertEquals ('22 ' , $ result [0 ]->getStreetNumber ());
85
- $ this ->assertEquals ('Obere Donaustraße ' , $ result [0 ]->getStreetName ());
86
- $ this ->assertEquals ('Wien ' , $ result [0 ]->getLocality ());
87
- $ this ->assertEquals ('1020 ' , $ result [0 ]->getPostalCode ());
88
+ $ this ->assertEquals ('22 ' , $ results ->first ()->getStreetNumber ());
89
+ $ this ->assertEquals ('Obere Donaustraße ' , $ results ->first ()->getStreetName ());
90
+ $ this ->assertEquals ('Wien ' , $ results ->first ()->getLocality ());
91
+ $ this ->assertEquals ('1020 ' , $ results ->first ()->getPostalCode ());
92
+ $ this ->assertTrue ($ results ->isNotEmpty ());
88
93
}
89
94
90
95
public function testItResolvesAGivenAddressWithUmlautsInRegion ()
@@ -97,54 +102,59 @@ public function testItResolvesAGivenAddressWithUmlautsInRegion()
97
102
app ()->register (GeocoderService::class);
98
103
99
104
// Act
100
- $ result = app ('geocoder ' )
105
+ $ results = app ('geocoder ' )
101
106
->geocode ('Obere Donaustrasse 22, Wien, Österreich ' )
102
- ->all ();
107
+ ->get ();
103
108
104
109
// Assert
105
- $ this ->assertEquals ('22 ' , $ result [0 ]->getStreetNumber ());
106
- $ this ->assertEquals ('Obere Donaustraße ' , $ result [0 ]->getStreetName ());
107
- $ this ->assertEquals ('Wien ' , $ result [0 ]->getLocality ());
108
- $ this ->assertEquals ('1020 ' , $ result [0 ]->getPostalCode ());
110
+ $ this ->assertEquals ('22 ' , $ results ->first ()->getStreetNumber ());
111
+ $ this ->assertEquals ('Obere Donaustraße ' , $ results ->first ()->getStreetName ());
112
+ $ this ->assertEquals ('Wien ' , $ results ->first ()->getLocality ());
113
+ $ this ->assertEquals ('1020 ' , $ results ->first ()->getPostalCode ());
114
+ $ this ->assertTrue ($ results ->isNotEmpty ());
109
115
}
110
116
111
117
public function testItCanUseASpecificProvider ()
112
118
{
113
- $ result = app ('geocoder ' )
119
+ $ results = app ('geocoder ' )
114
120
->using ('google_maps ' )
115
121
->geocode ('1600 Pennsylvania Ave., Washington, DC USA ' )
116
- ->all ();
117
- $ this ->assertEquals ('1600 ' , $ result [0 ]->getStreetNumber ());
118
- $ this ->assertEquals ('Pennsylvania Avenue Northwest ' , $ result [0 ]->getStreetName ());
119
- $ this ->assertEquals ('Washington ' , $ result [0 ]->getLocality ());
120
- $ this ->assertEquals ('20500 ' , $ result [0 ]->getPostalCode ());
122
+ ->get ();
123
+ $ this ->assertEquals ('1600 ' , $ results ->first ()->getStreetNumber ());
124
+ $ this ->assertEquals ('Pennsylvania Avenue Northwest ' , $ results ->first ()->getStreetName ());
125
+ $ this ->assertEquals ('Washington ' , $ results ->first ()->getLocality ());
126
+ $ this ->assertEquals ('20500 ' , $ results ->first ()->getPostalCode ());
127
+ $ this ->assertTrue ($ results ->isNotEmpty ());
121
128
}
122
129
123
130
public function testItDumpsAndAddress ()
124
131
{
125
- $ result = app ('geocoder ' )
132
+ $ results = app ('geocoder ' )
126
133
->using ('google_maps ' )
127
134
->geocode ('1600 Pennsylvania Ave., Washington, DC USA ' )
128
135
->dump ('geojson ' );
129
- $ jsonAddress = json_decode ($ result ->first ());
136
+ $ jsonAddress = json_decode ($ results ->first ());
130
137
131
138
$ this ->assertEquals ('1600 ' , $ jsonAddress ->properties ->streetNumber );
139
+ $ this ->assertTrue ($ results ->isNotEmpty ());
132
140
}
133
141
134
142
public function testItThrowsAnExceptionForInvalidDumper ()
135
143
{
136
144
$ this ->expectException (InvalidDumperException::class);
137
- $ result = app ('geocoder ' )
145
+ $ results = app ('geocoder ' )
138
146
->using ('google_maps ' )
139
147
->geocode ('1600 Pennsylvania Ave., Washington, DC USA ' )
140
148
->dump ('test ' );
141
- $ jsonAddress = json_decode ($ result ->first ());
149
+ $ jsonAddress = json_decode ($ results ->first ());
142
150
143
151
$ this ->assertEquals ('1600 ' , $ jsonAddress ->properties ->streetNumber );
152
+ $ this ->assertTrue ($ results ->isNotEmpty ());
144
153
}
145
154
146
155
public function testConfig ()
147
156
{
157
+ $ this ->assertEquals (999999999 , config ('geocoder.cache-duraction ' ));
148
158
$ this ->assertTrue (is_array ($ providers = $ this ->app ['config ' ]->get ('geocoder.providers ' )));
149
159
$ this ->assertCount (3 , $ providers );
150
160
$ this ->assertArrayHasKey (GoogleMaps::class, $ providers [Chain::class]);
@@ -185,6 +195,7 @@ public function testGeocodeQueryProvidesResults()
185
195
$ results = app ('geocoder ' )->geocodeQuery ($ query )->get ();
186
196
187
197
$ this ->assertInstanceOf (Collection::class, $ results );
198
+ $ this ->assertTrue ($ results ->isNotEmpty ());
188
199
}
189
200
190
201
/**
@@ -198,12 +209,21 @@ public function testReverseQueryProvidesResults()
198
209
$ results = app ('geocoder ' )->reverseQuery ($ query )->get ();
199
210
200
211
$ this ->assertInstanceOf (Collection::class, $ results );
212
+ $ this ->assertTrue ($ results ->isNotEmpty ());
201
213
}
202
214
203
215
public function testFacadeProvidesResults ()
204
216
{
205
217
$ results = Geocoder::geocode ('1600 Pennsylvania Ave., Washington, DC USA ' )->get ();
206
218
207
219
$ this ->assertInstanceOf (Collection::class, $ results );
220
+ $ this ->assertTrue ($ results ->isNotEmpty ());
221
+ }
222
+
223
+ public function testItCanUseMaxMindBinaryWithoutProvider ()
224
+ {
225
+ $ provider = new MaxMindBinary (__DIR__ . '/../../assets/GeoIP.dat ' );
226
+
227
+ app ('geocoder ' )->registerProvider ($ provider );
208
228
}
209
229
}
0 commit comments