@@ -41,13 +41,10 @@ public function testThrowIfNotExistBinaryFileGiven()
4141 new MaxMindBinary ('not_exist.dat ' );
4242 }
4343
44- /**
45- * @dataProvider provideIps
46- */
47- public function testLocationResultContainsExpectedFields ($ ip )
44+ public function testLocationResultContainsExpectedFieldsForAnAmericanIp ()
4845 {
4946 $ provider = new MaxMindBinary ($ this ->binaryFile );
50- $ results = $ provider ->geocode ($ ip );
47+ $ results = $ provider ->geocode (' 24.24.24.24 ' );
5148
5249 $ this ->assertInternalType ('array ' , $ results );
5350 $ this ->assertCount (1 , $ results );
@@ -56,20 +53,49 @@ public function testLocationResultContainsExpectedFields($ip)
5653 $ result = $ results [0 ];
5754 $ this ->assertInstanceOf ('\Geocoder\Model\Address ' , $ result );
5855
59- $ this ->assertNull ( $ result ->getLatitude ());
60- $ this ->assertNull ( $ result ->getLongitude ());
56+ $ this ->assertEquals ( ' 43.089200000000005 ' , $ result ->getLatitude (), '' , 0.001 );
57+ $ this ->assertEquals ( ' -76.025000000000006 ' , $ result ->getLongitude (), '' , 0.001 );
6158 $ this ->assertFalse ($ result ->getBounds ()->isDefined ());
6259 $ this ->assertNull ($ result ->getStreetNumber ());
6360 $ this ->assertNull ($ result ->getStreetName ());
6461 $ this ->assertNull ($ result ->getPostalCode ());
65- $ this ->assertNotNull ( $ result ->getLocality ());
62+ $ this ->assertEquals ( ' East Syracuse ' , $ result ->getLocality ());
6663 $ this ->assertNull ($ result ->getSubLocality ());
6764 $ this ->assertNull ($ result ->getCounty ()->getName ());
6865 $ this ->assertNull ($ result ->getCounty ()->getCode ());
69- $ this ->assertNull ( $ result ->getRegion ()->getName ());
66+ $ this ->assertEquals ( ' NY ' , $ result ->getRegion ()->getName ());
7067 $ this ->assertNull ($ result ->getRegion ()->getCode ());
71- $ this ->assertNotNull ($ result ->getCountry ()->getName ());
72- $ this ->assertNull ($ result ->getCountry ()->getCode ());
68+ $ this ->assertEquals ('United States ' , $ result ->getCountry ()->getName ());
69+ $ this ->assertEquals ('US ' , $ result ->getCountry ()->getCode ());
70+ $ this ->assertNull ($ result ->getTimezone ());
71+ }
72+
73+ public function testLocationResultContainsExpectedFieldsForASpanishIp ()
74+ {
75+ $ provider = new MaxMindBinary ($ this ->binaryFile );
76+ $ results = $ provider ->geocode ('80.24.24.24 ' );
77+
78+ $ this ->assertInternalType ('array ' , $ results );
79+ $ this ->assertCount (1 , $ results );
80+
81+ /** @var \Geocoder\Model\Address $result */
82+ $ result = $ results [0 ];
83+ $ this ->assertInstanceOf ('\Geocoder\Model\Address ' , $ result );
84+
85+ $ this ->assertEquals ('41.543299999999988 ' , $ result ->getLatitude (), '' , 0.001 );
86+ $ this ->assertEquals ('2.1093999999999937 ' , $ result ->getLongitude (), '' , 0.001 );
87+ $ this ->assertFalse ($ result ->getBounds ()->isDefined ());
88+ $ this ->assertNull ($ result ->getStreetNumber ());
89+ $ this ->assertNull ($ result ->getStreetName ());
90+ $ this ->assertNull ($ result ->getPostalCode ());
91+ $ this ->assertEquals ('Sabadell ' , $ result ->getLocality ());
92+ $ this ->assertNull ($ result ->getSubLocality ());
93+ $ this ->assertNull ($ result ->getCounty ()->getName ());
94+ $ this ->assertNull ($ result ->getCounty ()->getCode ());
95+ $ this ->assertEquals ('56 ' , $ result ->getRegion ()->getName ());
96+ $ this ->assertNull ($ result ->getRegion ()->getCode ());
97+ $ this ->assertEquals ('Spain ' , $ result ->getCountry ()->getName ());
98+ $ this ->assertEquals ('ES ' , $ result ->getCountry ()->getCode ());
7399 $ this ->assertNull ($ result ->getTimezone ());
74100 }
75101
@@ -122,7 +148,18 @@ public function testThrowIfIpAddressCouldNotBeLocated()
122148
123149 /**
124150 * @expectedException \Geocoder\Exception\UnsupportedOperation
125- * @expectedExceptionMessage The MaxMindBinary does not support street addresses.
151+ * @expectedExceptionMessage The MaxMindBinary provider does not support IPv6 addresses.
152+ */
153+ public function testThrowIfIpAddressIsNotIpV4 ()
154+ {
155+ $ provider = new MaxMindBinary ($ this ->binaryFile );
156+
157+ $ provider ->geocode ('2002:5018:1818:0:0:0:0:0 ' );
158+ }
159+
160+ /**
161+ * @expectedException \Geocoder\Exception\UnsupportedOperation
162+ * @expectedExceptionMessage The MaxMindBinary provider does not support street addresses.
126163 */
127164 public function testThrowIfInvalidIpAddressGiven ()
128165 {
0 commit comments