def test_prime_meridian__from_user_input__invalid(): with pytest.raises(CRSError, match="Invalid prime meridian"): PrimeMeridian.from_user_input({})
def test_prime_meridian__from_authority__invalid(): with pytest.raises(CRSError, match="Invalid authority"): PrimeMeridian.from_authority("Bob", 1)
def test_prime_meridian__from_user_input(user_input): assert PrimeMeridian.from_user_input( user_input) == PrimeMeridian.from_epsg(8901)
def test_prime_meridian__from_epsg(): assert PrimeMeridian.from_epsg(8903).to_wkt() == ( 'PRIMEM["Paris",2.5969213,ANGLEUNIT["grad",0.0157079632679489],ID["EPSG",8903]]' )
def test_prime_meridian__from_authority(): assert PrimeMeridian.from_authority("EPSG", 8903).name == "Paris"
def test_prime_meridian__from_name(): pm = PrimeMeridian.from_name("Greenwich") assert pm.name == "Greenwich"
def test_prime_meridian__from_name__invalid(invalid_str): with pytest.raises(CRSError, match="Invalid prime meridian name"): PrimeMeridian.from_name(invalid_str)
def test_prime_meridian_equals(): pm = PrimeMeridian.from_epsg(8901) assert pm == 8901 assert not pm != 8901 assert pm != "invalid"
def test_prime_meridian__from_string(input_str): pm = PrimeMeridian.from_string(input_str) assert pm.name == "Greenwich"
with pytest.raises(CRSError, match="Invalid authority"): PrimeMeridian.from_epsg(1) def test_prime_meridian__from_authority__invalid(): with pytest.raises(CRSError, match="Invalid authority"): PrimeMeridian.from_authority("Bob", 1) @pytest.mark.parametrize( "user_input", [ 8901, ("EPSG", 8901), "urn:ogc:def:meridian:EPSG::8901", PrimeMeridian.from_epsg(8901), PrimeMeridian.from_epsg(8901).to_json_dict(), "Greenwich", ], ) def test_prime_meridian__from_user_input(user_input): assert PrimeMeridian.from_user_input( user_input) == PrimeMeridian.from_epsg(8901) def test_prime_meridian__from_user_input__invalid(): with pytest.raises(CRSError, match="Invalid prime meridian"): PrimeMeridian.from_user_input({}) def test_ellipsoid__from_epsg():
def test_prime_meridian__from_string__invalid(): with pytest.raises(CRSError, match="Invalid prime meridian string"): PrimeMeridian.from_string("3-598y5-98y") with pytest.raises(CRSError, match="Invalid prime meridian string"): PrimeMeridian.from_string("urn:ogc:def:datum:EPSG::6326")
def test_prime_meridian__from_string(): pm = PrimeMeridian.from_string("urn:ogc:def:meridian:EPSG::8901") assert pm.name == "Greenwich"
def test_prime_meridian__from_epsg__empty(): PrimeMeridian.from_epsg(1) is None