def test_dateLongToDate(self): """dateLongToDate should give known output""" self.assertEqual(Lgm_CTrans.dateLongToDate(20001223), datetime.datetime(2000, 12, 23, 0, 0)) self.assertEqual(Lgm_CTrans.dateLongToDate([20001223]), datetime.datetime(2000, 12, 23, 0, 0)) self.assertEqual(Lgm_CTrans.dateLongToDate([20001223]*2), [datetime.datetime(2000, 12, 23, 0, 0), datetime.datetime(2000, 12, 23, 0, 0)]) numpy.testing.assert_array_equal(Lgm_CTrans.dateLongToDate(numpy.array([20001223]*2)), numpy.array([datetime.datetime(2000, 12, 23, 0, 0), datetime.datetime(2000, 12, 23, 0, 0)]))
def test_Lgm_LoadLeapSeconds(self): """Lgm_LoadLeapSeconds should work and not change""" self.assertTrue(Lgm_LoadLeapSeconds(ctypes.pointer(self.c))) # The LeapSecondDates values are the dates that the given corrections came into effect. But the actual leap second # date is the day before -- thats when the extra second was tacked on. So subtract a day from each of the dates. LeapSecondDates = [19720101, 19720701, 19730101, 19740101, 19750101, 19760101, 19770101, 19780101, 19790101, 19800101, 19810701, 19820701, 19830701, 19850701, 19880101, 19900101, 19910101, 19920701, 19930701, 19940701, 19960101, 19970701, 19990101, 20060101, 20090101,] LeapSecondJDs = [2441317.5, 2441499.5, 2441683.5, 2442048.5, 2442413.5, 2442778.5, 2443144.5, 2443509.5, 2443874.5, 2444239.5, 2444786.5, 2445151.5, 2445516.5, 2446247.5, 2447161.5, 2447892.5, 2448257.5, 2448804.5, 2449169.5, 2449534.5, 2450083.5, 2450630.5, 2451179.5, 2453736.5, 2454832.5,] LeapSeconds = [10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, ] LeapSecondDates = Lgm_CTrans.dateLongToDate(LeapSecondDates) LeapSecondDates = [val - datetime.timedelta(days=1) for val in LeapSecondDates] LeapSecondDates = Lgm_CTrans.dateToDateLong(LeapSecondDates) for i, (v1, v2, v3) in enumerate(zip(LeapSecondDates, LeapSecondJDs, LeapSeconds)): self.assertEqual(v1, self.c.l.LeapSecondDates[i]) self.assertEqual(v2, self.c.l.LeapSecondJDs[i]) self.assertEqual(v3, self.c.l.LeapSeconds[i])
def test_Lgm_LoadLeapSeconds(self): """Lgm_LoadLeapSeconds should work and not change""" self.assertTrue(Lgm_LoadLeapSeconds(ctypes.pointer(self.c))) # The LeapSecondDates values are the dates that the given corrections came into effect. But the actual leap second # date is the day before -- thats when the extra second was tacked on. So subtract a day from each of the dates. LeapSecondDates = [ 19720101, 19720701, 19730101, 19740101, 19750101, 19760101, 19770101, 19780101, 19790101, 19800101, 19810701, 19820701, 19830701, 19850701, 19880101, 19900101, 19910101, 19920701, 19930701, 19940701, 19960101, 19970701, 19990101, 20060101, 20090101, ] LeapSecondJDs = [ 2441317.5, 2441499.5, 2441683.5, 2442048.5, 2442413.5, 2442778.5, 2443144.5, 2443509.5, 2443874.5, 2444239.5, 2444786.5, 2445151.5, 2445516.5, 2446247.5, 2447161.5, 2447892.5, 2448257.5, 2448804.5, 2449169.5, 2449534.5, 2450083.5, 2450630.5, 2451179.5, 2453736.5, 2454832.5, ] LeapSeconds = [ 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, ] LeapSecondDates = Lgm_CTrans.dateLongToDate(LeapSecondDates) LeapSecondDates = [ val - datetime.timedelta(days=1) for val in LeapSecondDates ] LeapSecondDates = Lgm_CTrans.dateToDateLong(LeapSecondDates) for i, (v1, v2, v3) in enumerate( zip(LeapSecondDates, LeapSecondJDs, LeapSeconds)): self.assertEqual(v1, self.c.l.LeapSecondDates[i]) self.assertEqual(v2, self.c.l.LeapSecondJDs[i]) self.assertEqual(v3, self.c.l.LeapSeconds[i])