Beispiel #1
0
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"
Beispiel #2
0
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"
Beispiel #3
0
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
Beispiel #4
0
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"
Beispiel #5
0
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')
Beispiel #6
0
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')
Beispiel #7
0
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
Beispiel #8
0
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"
Beispiel #9
0
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')
Beispiel #10
0
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')