def verify(t, t_norm): jd = tpm.JD(**t) jd.normalize() self.assertAlmostEqual(jd.dd, t_norm['dd']) self.assertAlmostEqual(jd.hh, t_norm['hh']) self.assertAlmostEqual(jd.mm, t_norm['mm']) self.assertAlmostEqual(jd.ss, t_norm['ss'], 4)
def testGetFields(self): """JD.x => retrieve values of fields.""" jd = tpm.JD() self.assertEqual(jd.dd, 0.0) self.assertEqual(jd.hh, 0.0) self.assertEqual(jd.mm, 0.0) self.assertEqual(jd.ss, 0.0)
def verify(t, t_norm): jd = tpm.JD(**t) ymd = jd.to_ymd() self.assertAlmostEqual(ymd.y, t_norm['y']) self.assertAlmostEqual(ymd.m, t_norm['m']) self.assertAlmostEqual(ymd.dd, t_norm['dd']) self.assertAlmostEqual(ymd.mm, t_norm['mm']) self.assertAlmostEqual(ymd.ss, t_norm['ss'])
def testSubtractNonJD(self): """JD - x => Exception if subtraction involves non JD value.""" jd = tpm.JD() # All zeros. def sub_jd(jd, x): return jd - x self.assertRaises(TypeError, sub_jd, jd, 1)
def testAddNonJD(self): """JD + x => Exception if addition involves non JD value.""" jd = tpm.JD() # All zeros. def add_jd(jd, x): return jd - x self.assertRaises(TypeError, add_jd, jd, 1)
def testRepr(self): """JD__repr__ => dictionary as a string.""" j = dict(dd=2451445.0, hh=12.0, mm=0.0, ss=0.0) jd = tpm.JD() jd.dd = j['dd'] jd.hh = j['hh'] jd.mm = j['mm'] jd.ss = j['ss'] self.assertEqual(j, eval(repr(jd)))
def testSubtraction(self): """JD.__sub__ => JD - JD.""" j1 = dict(dd=2451445.0, hh=12.0, mm=0.0, ss=0.0) j2 = dict(dd=1.0, hh=2.3, mm=23.4, ss=2.0) jd1 = tpm.JD() jd1.dd = j1['dd'] jd1.hh = j1['hh'] jd1.mm = j1['mm'] jd1.ss = j1['ss'] jd2 = tpm.JD() jd2.dd = j2['dd'] jd2.hh = j2['hh'] jd2.mm = j2['mm'] jd2.ss = j2['ss'] jd = jd1 - jd2 self.assertEqual(jd.dd, jd1.dd - jd2.dd) self.assertEqual(jd.hh, jd1.hh - jd2.hh) self.assertEqual(jd.mm, jd1.mm - jd2.mm) self.assertEqual(jd.ss, jd1.ss - jd2.ss)
def testAddition(self): """JD.__add__ => JD + JD.""" j1 = dict(dd=2451445.0, hh=12.0, mm=0.0, ss=0.0) j2 = dict(dd=1.0, hh=2.3, mm=23.4, ss=2.0) jd1 = tpm.JD() jd1.dd = j1['dd'] jd1.hh = j1['hh'] jd1.mm = j1['mm'] jd1.ss = j1['ss'] jd2 = tpm.JD() jd2.dd = j2['dd'] jd2.hh = j2['hh'] jd2.mm = j2['mm'] jd2.ss = j2['ss'] jd = jd1 + jd2 self.assertEqual(jd.dd, jd1.dd + jd2.dd) self.assertEqual(jd.hh, jd1.hh + jd2.hh) self.assertEqual(jd.mm, jd1.mm + jd2.mm) self.assertEqual(jd.ss, jd1.ss + jd2.ss)
def testUnicodeAndStr(self): """JD.__str__ => string representations.""" # Output strings used as checks are from the file pytpm/tests # /c_tests/fmt_jd_test.c. s1 = " 2451545 12H 00M 00.000S" s2 = " 2456745 15H 06M 50.515S" j1 = dict(dd=2451545.0, hh=12.0, mm=0.0, ss=0.0) j2 = dict(dd=2456745.2456, hh=9.0, mm=12.3446, ss=49.99999) jd1 = tpm.JD() jd2 = tpm.JD() jd1.dd = j1['dd'] jd1.hh = j1['hh'] jd1.mm = j1['mm'] jd1.ss = j1['ss'] jd2.dd = j2['dd'] jd2.hh = j2['hh'] jd2.mm = j2['mm'] jd2.ss = j2['ss'] self.assertEqual(str(jd1), s1) self.assertEqual(str(jd2), s2)
def testSetFieldValues(self): """JD.x = val => Set fields of a JD object.""" j = dict(dd=2451445.0, hh=12.0, mm=0.0, ss=0.0) jd = tpm.JD() jd.dd = j['dd'] jd.hh = j['hh'] jd.mm = j['mm'] jd.ss = j['ss'] self.assertEqual(jd.dd, j['dd']) self.assertEqual(jd.hh, j['hh']) self.assertEqual(jd.mm, j['mm']) self.assertEqual(jd.ss, j['ss'])
def verify(t, t_norm): jd = tpm.JD(**t) self.assertAlmostEqual(jd.to_j(), t_norm)
def testInvalidKeywordAtInit(self): """JD(key=value) => raise TypeError if key is invalid.""" self.assertRaises(TypeError, lambda: tpm.JD(h=12.0)) self.assertRaises(TypeError, lambda: tpm.JD(hours=12.0))
def verify(t, t_norm): jd = tpm.JD(**t) self.assertEqual(jd.dd, t_norm['dd']) self.assertEqual(jd.hh, t_norm['hh']) self.assertEqual(jd.mm, t_norm['mm']) self.assertEqual(jd.ss, t_norm['ss'])
def testCreate(self): """JD() => create a JD object.""" jd = tpm.JD() self.assertEqual(type(jd), tpm.JD)