# Path: skyfield/api.py
# N = E = +1.0
# S = W = -1.0
# 
# Path: skyfield/positionlib.py
# class Geocentric(ICRF):
#     """An |xyz| position measured from the center of the Earth.
# 
#     A geocentric position is the difference between the position of the
#     Earth at a given instant and the position of a target body at the
#     same instant, without accounting for light-travel time or the effect
#     of relativity on the light itself.
# 
#     Its ``.position`` and ``.velocity`` vectors have |xyz| axes that
#     are those of the Geocentric Celestial Reference System (GCRS), an
#     inertial system that is an update to J2000 and that does not rotate
#     with the Earth itself.
# 
#     """
#     _default_center = 399
# 
#     def itrf_xyz(self):
#         """Deprecated; instead, call ``.frame_xyz(itrs)``. \
#         See `reference_frames`."""
#         return self.frame_xyz(framelib.itrs)
# 
#     def subpoint(self):
#         """Deprecated; instead, call either ``iers2010.subpoint(pos)`` or \
#         ``wgs84.subpoint(pos)``."""
#         from .toposlib import iers2010
#         return iers2010.subpoint(self)


from assay import assert_raises
from skyfield.api import Topos, load
from skyfield.positionlib import Geocentric
# Test the behavior of all combinations of vector.


def test_bad_addition():
    planets = load('de421.bsp')
    earth = planets['earth']
    mars = planets['mars']
    with assert_raises(ValueError, 'the center where the other vector starts'):
        earth + mars

def test_bad_subtraction():
    planets = load('de421.bsp')
    earth = planets['earth']

# Path: skyfield/api.py
# N = E = +1.0
# S = W = -1.0
# 
# Path: skyfield/positionlib.py
# class Geocentric(ICRF):
#     """An |xyz| position measured from the center of the Earth.
# 
#     A geocentric position is the difference between the position of the
#     Earth at a given instant and the position of a target body at the
#     same instant, without accounting for light-travel time or the effect
#     of relativity on the light itself.
# 
#     Its ``.position`` and ``.velocity`` vectors have |xyz| axes that
#     are those of the Geocentric Celestial Reference System (GCRS), an
#     inertial system that is an update to J2000 and that does not rotate
#     with the Earth itself.
# 
#     """
#     _default_center = 399
# 
#     def itrf_xyz(self):
#         """Deprecated; instead, call ``.frame_xyz(itrs)``. \
#         See `reference_frames`."""
#         return self.frame_xyz(framelib.itrs)
# 
#     def subpoint(self):
#         """Deprecated; instead, call either ``iers2010.subpoint(pos)`` or \
#         ``wgs84.subpoint(pos)``."""
#         from .toposlib import iers2010
#         return iers2010.subpoint(self)


# Path: skyfield/tests/test_vectors.py
from assay import assert_raises
from skyfield.api import Topos, load
from skyfield.positionlib import Geocentric

# Test the behavior of all combinations of vector.


def test_bad_addition():
    planets = load('de421.bsp')
    earth = planets['earth']
    mars = planets['mars']
    with assert_raises(ValueError, 'the center where the other vector starts'):
        earth + mars

def test_bad_subtraction():
    planets = load('de421.bsp')
    earth = planets['earth']

    usno = Topos('38.9215 N', '77.0669 W', elevation_m=92.0)