def test_angle_class_hms_and_dms_must_be_consistent(): a = Angle(d=1) a.dms = (1, 1, 0, 0) assert a.hms.hms == (1, 0, 4, 0.0) a.hms = (1, 1, 0, 0) assert a.dms.dms == (1, 15, 0, 0.0)
def test_angle_class_setting_dms_property_must_work(): a = Angle(d=0.0) a.dms = (-1, 183, 33, 23.505) v = -1 * (183 + 33 / 60.0 + 23.505 / 3600.0) assert a.d == v assert a.dms.sign == -1 assert a.dms.dd == 183 assert a.dms.mm == 33 assert a.dms.ss == 23.505 assert str(a.dms) == "-183DD 33MM 23.505SS" a.dms.dd = 101 assert a.d == -101.55652916666668 a.dms.mm = 15 assert a.d == -101.25652916666667 a = Angle(d=0.0) a.dms.mm = 12 assert round(a.d, 15) == 12 / 60.0
def test_angle_class_setting_dms_property_must_work(): a = Angle(d=0.0) a.dms = (-1, 183, 33, 23.505) v = -1 * (183 + 33/60.0 + 23.505/3600.0) assert a.d == v assert a.dms.sign == -1 assert a.dms.dd == 183 assert a.dms.mm == 33 assert a.dms.ss == 23.505 assert str(a.dms) == "-183DD 33MM 23.505SS" a.dms.dd = 101 assert a.d == -101.55652916666668 a.dms.mm = 15 assert a.d == -101.25652916666667 a = Angle(d=0.0) a.dms.mm = 12 assert round(a.d, 15) == 12/60.0