public function setUp()
 {
     $em = $this->getEntityManager(null, null, ['driver' => 'pdo_pgsql', 'dbname' => 'orm_behaviors_test']);
     $nantes = new \BehaviorFixtures\ORM\GeocodableEntity(47.218635, -1.544266);
     $nantes->setTitle('Nantes');
     $paris = new \BehaviorFixtures\ORM\GeocodableEntity(48.858842, 2.355194);
     $paris->setTitle('Paris');
     $newYork = new \BehaviorFixtures\ORM\GeocodableEntity(40.742786, -73.989272);
     $newYork->setTitle('New-York');
     $em->persist($nantes);
     $em->persist($paris);
     $em->persist($newYork);
     $em->flush();
 }
 public function testFindByDistance()
 {
     $em = $this->getEntityManager(null, null, ['driver' => 'pdo_pgsql', 'dbname' => 'orm_behaviors_test']);
     $nantes = new \BehaviorFixtures\ORM\GeocodableEntity(47.218635, -1.544266);
     $nantes->setTitle('Nantes');
     $paris = new \BehaviorFixtures\ORM\GeocodableEntity(48.858842, 2.355194);
     $paris->setTitle('Paris');
     $newYork = new \BehaviorFixtures\ORM\GeocodableEntity(40.742786, -73.989272);
     $newYork->setTitle('New-York');
     $em->persist($nantes);
     $em->persist($paris);
     $em->persist($newYork);
     $em->flush();
     $repo = $em->getRepository('BehaviorFixtures\\ORM\\GeocodableEntity');
     $cities = $repo->findByDistance(new Point(47.896319, 7.352943), 500);
     $this->assertCount(1, $cities, 'Paris is less than 500km far from Reguisheim');
     $cities = $repo->findByDistance(new Point(47.896319, 7.352943), 900);
     $this->assertCount(2, $cities, 'Paris and Nantes are less than 900km far from Reguisheim');
     $cities = $repo->findByDistance(new Point(47.896319, 7.352943), 9000);
     $this->assertCount(3, $cities, 'Paris, Nantes and New-York are less than 9000km far from Reguisheim');
 }