def test_coord_precision_long_digit(self): self.assertEqual(coord_precision('12.34456'), 0.00001)
def test_coord_precision_no_integer_part(self): self.assertEqual(coord_precision('0.2'), 0.1)
def test_coord_precision_no_integer_part_explicit_sig_fig(self): self.assertEqual(coord_precision('0.200'), 0.001)
def test_coord_precision_hundred_hits_max(self): self.assertEqual(coord_precision('300'), 10)
def test_coord_precision_hundred_respects_last_digit(self): self.assertEqual(coord_precision('301'), 1)
def test_coord_precision_padded_one(self): self.assertEqual(coord_precision('01'), 1)
def test_coord_precision_ten(self): self.assertEqual(coord_precision('20'), 10)
def test_coord_precision_one(self): self.assertEqual(coord_precision('1'), 1)
def test_coord_precision_decimal_one(self): self.assertEqual(coord_precision('1.0'), 0.1)
def test_coord_precision_decimal_zero(self): self.assertEqual(coord_precision('0.0'), 0.1)
def test_coord_precision_zero(self): self.assertEqual(coord_precision('0'), 1)
def test_coord_precision_dms_raises(self): with self.assertRaises(ValueError): coord_precision("15°10'15''")
def test_coord_precision_float_raises(self): with self.assertRaises(ValueError): coord_precision(0.200)
def test_coord_precision_empty_raises(self): with self.assertRaises(ValueError): coord_precision('')