Added unittests for arttime
This commit is contained in:
parent
fba1733479
commit
3fac25b620
@ -21,6 +21,10 @@ class MissionTime(object):
|
|||||||
def get(self):
|
def get(self):
|
||||||
return self._missiontime
|
return self._missiontime
|
||||||
|
|
||||||
|
@property
|
||||||
|
def time(self):
|
||||||
|
return self._missiontime
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self._missiontime)
|
return str(self._missiontime)
|
||||||
|
|
||||||
@ -45,6 +49,10 @@ class ArtDay(object):
|
|||||||
def get(self):
|
def get(self):
|
||||||
return self._artday
|
return self._artday
|
||||||
|
|
||||||
|
@property
|
||||||
|
def time(self):
|
||||||
|
return self._artday
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self._artday)
|
return str(self._artday)
|
||||||
|
|
||||||
@ -69,6 +77,10 @@ class MjdDay(object):
|
|||||||
def get(self):
|
def get(self):
|
||||||
return self._mjd
|
return self._mjd
|
||||||
|
|
||||||
|
@property
|
||||||
|
def time(self):
|
||||||
|
return self._mjd
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self._mjd)
|
return str(self._mjd)
|
||||||
|
|
||||||
@ -96,6 +108,10 @@ class Dtime(object):
|
|||||||
def get(self):
|
def get(self):
|
||||||
return self._dtime
|
return self._dtime
|
||||||
|
|
||||||
|
@property
|
||||||
|
def time(self):
|
||||||
|
return self._dtime
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self._dtime)
|
return str(self._dtime)
|
||||||
|
|
||||||
@ -129,7 +145,6 @@ class ArtTime(object):
|
|||||||
self._try_mjd(mjd)
|
self._try_mjd(mjd)
|
||||||
self._try_dtime_utc(datetime_utc)
|
self._try_dtime_utc(datetime_utc)
|
||||||
self._try_dtime_msk(datetime_msk)
|
self._try_dtime_msk(datetime_msk)
|
||||||
self
|
|
||||||
|
|
||||||
if self._has_value > 1:
|
if self._has_value > 1:
|
||||||
print('Error: ArtTime needs only one argument')
|
print('Error: ArtTime needs only one argument')
|
||||||
|
0
test/__init__.py
Normal file
0
test/__init__.py
Normal file
92
test/test_arttime.py
Normal file
92
test/test_arttime.py
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from datetime import datetime
|
||||||
|
from arttools import arttime
|
||||||
|
from astropy.time import Time
|
||||||
|
from arttools.arttime import TZ_UTC
|
||||||
|
from arttools.arttime import TZ_MSK
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
|
||||||
|
class TestConvertArtday(unittest.TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self._test_conv = {'artday': 8000., 'missiontime': 691200000., 'mjd': 59543.875,
|
||||||
|
'datetime_msk': '2021-11-26T00:00:00', 'datetime_utc': '2021-11-25T21:00:00'}
|
||||||
|
self._test_mjd = Time(self._test_conv['mjd'], format='mjd')
|
||||||
|
self._test_dtime_utc = datetime.fromisoformat(self._test_conv['datetime_utc']).replace(tzinfo=TZ_UTC)
|
||||||
|
self._test_dtime_msk = datetime.fromisoformat(self._test_conv['datetime_msk']).replace(tzinfo=TZ_MSK)
|
||||||
|
|
||||||
|
def test_ArtTime_mjd(self):
|
||||||
|
mjd = arttime.ArtTime(mjd=self._test_conv['mjd'])
|
||||||
|
self.assertEqual(mjd.mjd.time, self._test_mjd)
|
||||||
|
|
||||||
|
def test_mjd_convert(self):
|
||||||
|
mjd = arttime.ArtTime(mjd=self._test_conv['mjd'])
|
||||||
|
test_dtime_utc = datetime.fromisoformat(self._test_conv['datetime_utc']).replace(tzinfo=TZ_UTC)
|
||||||
|
test_dtime_msk = datetime.fromisoformat(self._test_conv['datetime_msk']).replace(tzinfo=TZ_MSK)
|
||||||
|
self.assertEqual(mjd.artday.time, self._test_conv['artday'])
|
||||||
|
self.assertEqual(mjd.missiontime.time, self._test_conv['missiontime'])
|
||||||
|
self.assertEqual(mjd.datetime_utc.time, test_dtime_utc)
|
||||||
|
self.assertEqual(mjd.datetime_msk.time, test_dtime_msk)
|
||||||
|
|
||||||
|
def test_ArtTime_artday(self):
|
||||||
|
artday = arttime.ArtTime(artday=self._test_conv['artday'])
|
||||||
|
self.assertEqual(artday.artday.time, self._test_conv['artday'])
|
||||||
|
|
||||||
|
def test_artday_convert(self):
|
||||||
|
artday = arttime.ArtTime(artday=self._test_conv['artday'])
|
||||||
|
self.assertEqual(artday.mjd.time, self._test_mjd)
|
||||||
|
self.assertEqual(artday.missiontime.time, self._test_conv['missiontime'])
|
||||||
|
self.assertEqual(artday.datetime_utc.time, self._test_dtime_utc)
|
||||||
|
self.assertEqual(artday.datetime_msk.time, self._test_dtime_msk)
|
||||||
|
|
||||||
|
def test_ArtTime_missiontime(self):
|
||||||
|
missiontime = arttime.ArtTime(missiontime=self._test_conv['missiontime'])
|
||||||
|
self.assertEqual(missiontime.missiontime.time, self._test_conv['missiontime'])
|
||||||
|
|
||||||
|
def test_cyclic_conversion_missiontime(self):
|
||||||
|
missiontime = arttime.ArtTime(missiontime=self._test_conv['missiontime'])
|
||||||
|
datetime_utc = str(missiontime.datetime_utc)
|
||||||
|
test_datetime_utc = arttime.ArtTime(datetime_utc=datetime_utc)
|
||||||
|
self.assertEqual(missiontime.missiontime.time, test_datetime_utc.missiontime.time)
|
||||||
|
|
||||||
|
def test_missiontime_convert(self):
|
||||||
|
missiontime = arttime.ArtTime(missiontime=self._test_conv['missiontime'])
|
||||||
|
self.assertEqual(missiontime.mjd.time, self._test_mjd)
|
||||||
|
self.assertEqual(missiontime.artday.time, self._test_conv['artday'])
|
||||||
|
self.assertEqual(missiontime.datetime_utc.time, self._test_dtime_utc)
|
||||||
|
self.assertEqual(missiontime.datetime_msk.time, self._test_dtime_msk)
|
||||||
|
|
||||||
|
def test_ArtTime_datetime_utc(self):
|
||||||
|
datetime_utc = arttime.ArtTime(datetime_utc=self._test_conv['datetime_utc'])
|
||||||
|
self.assertEqual(datetime_utc.datetime_utc.time, self._test_dtime_utc)
|
||||||
|
|
||||||
|
def test_datetime_utc_convert(self):
|
||||||
|
datetime_utc = arttime.ArtTime(datetime_utc=self._test_conv['datetime_utc'])
|
||||||
|
self.assertEqual(datetime_utc.mjd.time, self._test_mjd)
|
||||||
|
self.assertEqual(datetime_utc.artday.time, self._test_conv['artday'])
|
||||||
|
self.assertEqual(datetime_utc.missiontime.time, self._test_conv['missiontime'])
|
||||||
|
self.assertEqual(datetime_utc.datetime_msk.time, self._test_dtime_msk)
|
||||||
|
|
||||||
|
def test_ArtTime_datetime_msk(self):
|
||||||
|
datetime_msk = arttime.ArtTime(datetime_msk=self._test_conv['datetime_msk'])
|
||||||
|
self.assertEqual(datetime_msk.datetime_msk.time, self._test_dtime_msk)
|
||||||
|
|
||||||
|
def test_datetime_msk_convert(self):
|
||||||
|
datetime_msk = arttime.ArtTime(datetime_msk=self._test_conv['datetime_msk'])
|
||||||
|
self.assertEqual(datetime_msk.mjd.time, self._test_mjd)
|
||||||
|
self.assertEqual(datetime_msk.artday.time, self._test_conv['artday'])
|
||||||
|
self.assertEqual(datetime_msk.missiontime.time, self._test_conv['missiontime'])
|
||||||
|
self.assertEqual(datetime_msk.datetime_utc.time, self._test_dtime_utc)
|
||||||
|
|
||||||
|
def test_ArtTime(self):
|
||||||
|
datetime_utcnow = arttime.ArtTime()
|
||||||
|
test_datetime_utcnow = datetime.utcnow().replace(tzinfo=TZ_UTC)
|
||||||
|
self.assertLess((test_datetime_utcnow - datetime_utcnow.datetime_utc.time).total_seconds(), 60.)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
Loading…
x
Reference in New Issue
Block a user