def testValidation(self):
     form = NiceLocationForm(
         {
             "coordinates_lat_input": "32 19 24.04 N",
             "coordinates_lng_input": "71.5 W",
             "waters": Location._meta.get_field("waters").default,
         }
     )
     self.assertEquals(form.is_valid(), True)
     self.assertEquals(
         form.cleaned_data["coordinates_lat_input"],
         # TODO how do we deal with rounding errors? or should the test not
         # pass if they make a difference?
         (False, D(32), D(19), D("24.04")),
     )
     self.assertEquals(form.cleaned_data["coordinates_lng_input"], (True, D("71.5"), D(0), D(0)))
     form = NiceLocationForm(
         {
             "coordinates_lat_input": "32 19 24.04",
             "coordinates_lng_input": "-71.5 adfadbargha",
             "waters": Location._meta.get_field("waters").default,
         }
     )
     self.assertEquals(form.is_valid(), True)
     self.assertEquals(
         form.cleaned_data["coordinates_lat_input"],
         # TODO how do we deal with rounding errors? or should the test not
         # pass if they make a difference?
         (False, D(32), D(19), D("24.04")),
     )
     self.assertEquals(form.cleaned_data["coordinates_lng_input"], (True, D("71.5"), D(0), D(0)))
 def testSave(self):
     form = NiceLocationForm(
         {
             "coordinates_lat_input": "32 19 24.04 N",
             "coordinates_lng_input": "-71.5",
             "waters": Location._meta.get_field("waters").default,
         }
     )
     loc = form.save()