@Test
  public void testDistance() {
    PointType pointParis = new PointType("48.8566140,2.3522219");

    assertEquals(2.3522219, pointParis.getLongitude().doubleValue(), 0.0000001);
    assertEquals(48.856614, pointParis.getLatitude().doubleValue(), 0.0000001);

    PointType pointBerlin = new PointType("52.5200066,13.4049540");

    LocationItem locationParis = new LocationItem("paris");
    locationParis.setState(pointParis);
    LocationItem locationBerlin = new LocationItem("berlin");
    locationBerlin.setState(pointBerlin);

    DecimalType distance = locationParis.distanceFrom(pointParis);
    assertEquals(0, distance.intValue());

    double parisBerlin = locationParis.distanceFrom(pointBerlin).doubleValue();
    assertEquals(878400, 50, parisBerlin);

    double gravParis = pointParis.getGravity().doubleValue();
    assertEquals(gravParis, 9.809, 0.001);

    // Check canonization of position
    PointType point3 = new PointType("-100,200");
    double lat3 = point3.getLatitude().doubleValue();
    double lon3 = point3.getLongitude().doubleValue();
    assertTrue(lat3 > -90);
    assertTrue(lat3 < 90);
    assertTrue(lon3 < 180);
    assertTrue(lon3 > -180);
  }