def test_operations(): t1 = Date(2015, 12, 6) t2 = t1 + timedelta(hours=2) assert t2.d == t1.d assert t2.s == t1.s + 2 * 3600 with raises(TypeError): t2 = t1 + 1 t2 = t1 - timedelta(hours=12) assert t2.d == t1.d - 1 assert t2.s == 43200. t2 = t1 - datetime(2015, 12, 4) assert type(t2) is timedelta assert t2.days == 2 t2 = t1 - Date(2015, 12, 4) assert type(t2) is timedelta assert t2.days == 2 with raises(TypeError): t2 = t1 - 2.5 # Test if Date is hashable d = {t1: "test", t2: "test2"} t1bis = t1.change_scale('UT1') assert d[t1bis] == "test"
def test_operations(): t1 = Date(2015, 12, 6) t2 = t1 + timedelta(hours=2) assert t2.d == t1.d assert t2.s == t1.s + 2 * 3600 with raises(TypeError): t2 = t1 + 1 t2 = t1 - timedelta(hours=12) assert t2.d == t1.d - 1 assert t2.s == 43200. t2 = t1 - datetime(2015, 12, 4) assert type(t2) is timedelta assert t2.days == 2 t2 = t1 - Date(2015, 12, 4) assert type(t2) is timedelta assert t2.days == 2 with raises(TypeError): t2 = t1 - 2.5 # Test if Date is hashable d = { t1: "test", t2: "test2" } t1bis = t1.change_scale('UT1') assert d[t1bis] == "test"
def test_julian(): with patch('beyond.dates.date.EopDb.get') as m: m.return_value = Eop(x=0, y=0, dx=0, dy=0, dpsi=0, deps=0, lod=0, ut1_utc=0.10362957986110499, tai_utc=36.0) t = Date(2015, 12, 18, 22, 25) assert t.mjd == 57374.93402777778 assert t.jd == 2457375.434027778 assert t.change_scale('TT').julian_century == 0.1596286055289367
def test_barycenter(): with patch('beyond.dates.date.EopDb.get') as m: m.return_value = Eop(x=0, y=0, dx=0, dy=0, dpsi=0, deps=0, lod=0, ut1_utc=-0.463326, tai_utc=32.0) t = Date(2004, 5, 14, 16, 43) # UTC t2 = t.change_scale('TT') assert str(t2) == "2004-05-14T16:44:04.184000 TT" t3 = t2.change_scale('TDB') assert str(t3) == "2004-05-14T16:44:04.185254 TDB"
def test_change_scale(): with patch('beyond.dates.date.EopDb.get') as m: m.return_value = Eop(x=0, y=0, dx=0, dy=0, dpsi=0, deps=0, lod=0, ut1_utc=0.1242558, tai_utc=36.0) t = Date(2015, 12, 6) # UTC object assert str(t.scale) == "UTC" t2 = t.change_scale('TT') assert str(t2) == "2015-12-06T00:01:08.184000 TT" t3 = t.change_scale('GPS') assert str(t3) == "2015-12-06T00:00:17 GPS" t4 = t.change_scale('UT1') assert str(t4) == "2015-12-06T00:00:00.124256 UT1" t5 = t.change_scale('TDB') assert str(t5) == "2015-12-06T00:01:08.183225 TDB" assert str(t5.change_scale('UTC')) == "2015-12-06T00:00:00 UTC" with raises(ValueError): t.change_scale('unknown')
def test_change_scale(): with patch('beyond.dates.date.EopDb.get') as m: m.return_value = Eop(x=0, y=0, dx=0, dy=0, dpsi=0, deps=0, lod=0, ut1_utc=0.1242558, tai_utc=36.0) t = Date(2015, 12, 6) # UTC object assert str(t.scale) == "UTC" t2 = t.change_scale('TT') assert str(t2) == "2015-12-06T00:01:08.184000 TT" t3 = t.change_scale('GPS') assert str(t3) == "2015-12-06T00:00:17 GPS" t4 = t.change_scale('UT1') assert str(t4) == "2015-12-06T00:00:00.124256 UT1" t5 = t.change_scale('TDB') assert str(t5) == "2015-12-06T00:01:08.183225 TDB" assert str(t5.change_scale('UTC')) == "2015-12-06T00:00:00 UTC" with raises(ValueError): t.change_scale('unknown')
def test_julian(): with patch('beyond.dates.date.EopDb.get') as m: m.return_value = Eop(x=0, y=0, dx=0, dy=0, dpsi=0, deps=0, lod=0, ut1_utc=0.10362957986110499, tai_utc=36.0) t = Date(2015, 12, 18, 22, 25) assert t.mjd == 57374.93402777778 assert t.jd == 2457375.434027778 assert t.change_scale('TT').julian_century == 0.1596286055289367
def test_barycenter(): with patch('beyond.dates.date.EopDb.get') as m: m.return_value = Eop(x=0, y=0, dx=0, dy=0, dpsi=0, deps=0, lod=0, ut1_utc=-0.463326, tai_utc=32.0) t = Date(2004, 5, 14, 16, 43) # UTC t2 = t.change_scale('TT') assert str(t2) == "2004-05-14T16:44:04.184000 TT" t3 = t2.change_scale('TDB') assert str(t3) == "2004-05-14T16:44:04.185254 TDB"
def test_pickle(): date1 = Date(2018, 5, 8, 15, 55, 52, 232) txt = dumps(date1) date2 = loads(txt) assert date1 == date2 assert date1.scale.name == date2.scale.name assert date1.eop.x == date2.eop.x assert date1.eop.y == date2.eop.y assert date1.eop.dx == date2.eop.dx assert date1.eop.dy == date2.eop.dy assert date1.eop.deps == date2.eop.deps assert date1.eop.dpsi == date2.eop.dpsi assert date1.eop.lod == date2.eop.lod assert date1.eop.ut1_utc == date2.eop.ut1_utc assert date1.eop.tai_utc == date2.eop.tai_utc assert date1.change_scale('UT1') == date2.change_scale('UT1')
def test_pickle(): date1 = Date(2018, 5, 8, 15, 55, 52, 232) txt = dumps(date1) date2 = loads(txt) assert date1 == date2 assert date1.scale.name == date2.scale.name assert date1.eop.x == date2.eop.x assert date1.eop.y == date2.eop.y assert date1.eop.dx == date2.eop.dx assert date1.eop.dy == date2.eop.dy assert date1.eop.deps == date2.eop.deps assert date1.eop.dpsi == date2.eop.dpsi assert date1.eop.lod == date2.eop.lod assert date1.eop.ut1_utc == date2.eop.ut1_utc assert date1.eop.tai_utc == date2.eop.tai_utc assert date1.change_scale('UT1') == date2.change_scale('UT1')