# Path: lib/cartopy/tests/crs/helpers.py
# def check_proj_params(name, crs, other_args):
#     expected = other_args | {f'proj={name}', 'no_defs'}
#     proj_params = set(crs.proj4_init.lstrip('+').split(' +'))
#     assert expected == proj_params


import numpy as np
import pytest
import cartopy.crs as ccrs
from numpy.testing import assert_almost_equal, assert_array_almost_equal
from .helpers import check_proj_params
        assert len(w) == 1

    other_args = {'ellps=WGS84', 'lon_0=0'}
    check_proj_params('robin', robin, other_args)

    # Limits are the same as default since ellipses are not supported.
    assert_almost_equal(robin.x_limits, [-17005833.3305252, 17005833.3305252])
    assert_almost_equal(robin.y_limits, [-8625154.6651000, 8625154.6651000])


def test_eccentric_globe():
    globe = ccrs.Globe(semimajor_axis=1000, semiminor_axis=500,
                       ellipse=None)
    with pytest.warns(UserWarning,
                      match='does not handle elliptical globes.') as w:
        robin = ccrs.Robinson(globe=globe)
        assert len(w) == 1

    other_args = {'a=1000', 'b=500', 'lon_0=0'}
    check_proj_params('robin', robin, other_args)

    # Limits are the same as spheres since ellipses are not supported.
    assert_almost_equal(robin.x_limits, [-2666.2696851, 2666.2696851])
    assert_almost_equal(robin.y_limits, [-1352.3000000, 1352.3000000])


def test_offset():
    crs = ccrs.Robinson()
    crs_offset = ccrs.Robinson(false_easting=1234, false_northing=-4321)
    other_args = {'a=6378137.0', 'lon_0=0', 'x_0=1234', 'y_0=-4321'}

# Path: lib/cartopy/tests/crs/helpers.py
# def check_proj_params(name, crs, other_args):
#     expected = other_args | {f'proj={name}', 'no_defs'}
#     proj_params = set(crs.proj4_init.lstrip('+').split(' +'))
#     assert expected == proj_params


# Path: lib/cartopy/tests/crs/test_robinson.py
import numpy as np
import pytest
import cartopy.crs as ccrs
from numpy.testing import assert_almost_equal, assert_array_almost_equal
from .helpers import check_proj_params

        assert len(w) == 1

    other_args = {'ellps=WGS84', 'lon_0=0'}
    check_proj_params('robin', robin, other_args)

    # Limits are the same as default since ellipses are not supported.
    assert_almost_equal(robin.x_limits, [-17005833.3305252, 17005833.3305252])
    assert_almost_equal(robin.y_limits, [-8625154.6651000, 8625154.6651000])


def test_eccentric_globe():
    globe = ccrs.Globe(semimajor_axis=1000, semiminor_axis=500,
                       ellipse=None)
    with pytest.warns(UserWarning,
                      match='does not handle elliptical globes.') as w:
        robin = ccrs.Robinson(globe=globe)
        assert len(w) == 1

    other_args = {'a=1000', 'b=500', 'lon_0=0'}
    check_proj_params('robin', robin, other_args)

    # Limits are the same as spheres since ellipses are not supported.
    assert_almost_equal(robin.x_limits, [-2666.2696851, 2666.2696851])
    assert_almost_equal(robin.y_limits, [-1352.3000000, 1352.3000000])


def test_offset():
    crs = ccrs.Robinson()
    crs_offset = ccrs.Robinson(false_easting=1234, false_northing=-4321)
    other_args = {'a=6378137.0', 'lon_0=0', 'x_0=1234', 'y_0=-4321'}

    check_proj_params('robin', crs_offset, other_args)