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()