Exemple #1
0
def test_galactocentric_references(reset_galactocentric_defaults):
    # references in the "scientific paper"-sense

    from astropy.coordinates import (Galactocentric,
                                     galactocentric_frame_defaults)

    with galactocentric_frame_defaults.set('pre-v4.0'):
        galcen_pre40 = Galactocentric()

        for k in galcen_pre40.get_frame_attr_names():
            if k == 'roll':  # no reference for this parameter
                continue

            assert k in galcen_pre40.frame_attribute_references

    with galactocentric_frame_defaults.set('v4.0'):
        galcen_40 = Galactocentric()

        for k in galcen_40.get_frame_attr_names():
            if k == 'roll':  # no reference for this parameter
                continue

            assert k in galcen_40.frame_attribute_references

    with galactocentric_frame_defaults.set('v4.0'):
        galcen_custom = Galactocentric(z_sun=15*u.pc)

        for k in galcen_custom.get_frame_attr_names():
            if k == 'roll':  # no reference for this parameter
                continue

            if k == 'z_sun':
                assert k not in galcen_custom.frame_attribute_references
            else:
                assert k in galcen_custom.frame_attribute_references
Exemple #2
0
def test_galactocentric_defaults(reset_galactocentric_defaults):
    from astropy.coordinates import (Galactocentric,
                                     galactocentric_frame_defaults,
                                     BaseCoordinateFrame,
                                     CartesianDifferential)

    with galactocentric_frame_defaults.set('pre-v4.0'):
        galcen_pre40 = Galactocentric()

    with galactocentric_frame_defaults.set('v4.0'):
        galcen_40 = Galactocentric()

    with galactocentric_frame_defaults.set('latest'):
        galcen_latest = Galactocentric()

    # parameters that changed
    assert not u.allclose(galcen_pre40.galcen_distance,
                          galcen_40.galcen_distance)
    assert not u.allclose(galcen_pre40.z_sun, galcen_40.z_sun)

    for k in galcen_40.get_frame_attr_names():
        if isinstance(getattr(galcen_40, k), BaseCoordinateFrame):
            continue  # skip coordinate comparison...

        elif isinstance(getattr(galcen_40, k), CartesianDifferential):
            assert u.allclose(getattr(galcen_40, k).d_xyz,
                              getattr(galcen_latest, k).d_xyz)
        else:
            assert getattr(galcen_40, k) == getattr(galcen_latest, k)