/**
  * GeocoderBehaviorTest::testSetDistanceAsVirtualFieldInMiles()
  *
  * @return void
  */
 public function testSetDistanceAsVirtualFieldInMiles()
 {
     $driver = $this->db->driver();
     $this->skipIf(!($driver instanceof Mysql || $driver instanceof Postgres), 'The virtualFields test is only compatible with Mysql/Postgres.');
     $this->Addresses->removeBehavior('Geocoder');
     //FIXME: Shouldnt be necessary ideally
     $this->Addresses->addBehavior('Geocoder', ['unit' => Calculator::UNIT_MILES]);
     $options = ['lat' => 13.3, 'lng' => 19.2];
     //$options = array('order' => array('Address.distance' => 'ASC'));
     $res = $this->Addresses->find()->find('distance', $options)->toArray();
     $this->assertTrue($res[0]['distance'] < $res[1]['distance']);
     $this->assertTrue($res[1]['distance'] < $res[2]['distance']);
     $this->assertTrue($res[0]['distance'] > 390 && $res[0]['distance'] < 410);
 }
 /**
  * @return void
  */
 public function testRecursive()
 {
     $result = $this->Addresses->find()->contain([$this->Users->alias(), $this->Comments->alias()])->first();
     $hashid = 'jR';
     $this->assertSame($hashid, $result->id);
     $this->assertSame(1, $result->comments[0]->id);
     $this->assertSame(1, $result->user->id);
     $this->Addresses->behaviors()->Hashid->config('recursive', true);
     $result = $this->Addresses->find()->contain([$this->Users->alias(), $this->Comments->alias()])->first();
     $hashid = 'jR';
     $this->assertSame($hashid, $result->id);
     $this->assertSame($hashid, $result->comments[0]->id);
     $this->assertSame($hashid, $result->user->id);
 }