File: C:/Users/fred/anaconda3/Lib/site-packages/astropy/io/votable/tests/test_ucd.py
# Licensed under a 3-clause BSD style license - see LICENSE.rst
import pytest
from astropy.io.votable import ucd
def test_none():
assert ucd.check_ucd(None)
examples = {
"phys.temperature": [("ivoa", "phys.temperature")],
"pos.eq.ra;meta.main": [("ivoa", "pos.eq.ra"), ("ivoa", "meta.main")],
"meta.id;src": [("ivoa", "meta.id"), ("ivoa", "src")],
"phot.flux;em.radio;arith.ratio": [
("ivoa", "phot.flux"),
("ivoa", "em.radio"),
("ivoa", "arith.ratio"),
],
"PHot.Flux;EM.Radio;ivoa:arith.Ratio": [
("ivoa", "phot.flux"),
("ivoa", "em.radio"),
("ivoa", "arith.ratio"),
],
"pos.galactic.lat": [("ivoa", "pos.galactic.lat")],
"meta.code;phot.mag": [("ivoa", "meta.code"), ("ivoa", "phot.mag")],
"stat.error;phot.mag": [("ivoa", "stat.error"), ("ivoa", "phot.mag")],
"phys.temperature;instr;stat.max": [
("ivoa", "phys.temperature"),
("ivoa", "instr"),
("ivoa", "stat.max"),
],
"stat.error;phot.mag;em.opt.V": [
("ivoa", "stat.error"),
("ivoa", "phot.mag"),
("ivoa", "em.opt.V"),
],
"phot.color;em.opt.B;em.opt.V": [
("ivoa", "phot.color"),
("ivoa", "em.opt.B"),
("ivoa", "em.opt.V"),
],
"stat.error;phot.color;em.opt.B;em.opt.V": [
("ivoa", "stat.error"),
("ivoa", "phot.color"),
("ivoa", "em.opt.B"),
("ivoa", "em.opt.V"),
],
}
def test_check():
for s, p in examples.items():
assert ucd.parse_ucd(s, True, True) == p
assert ucd.check_ucd(s, True, True)
def test_too_many_colons():
with pytest.raises(ValueError):
ucd.parse_ucd("ivoa:stsci:phot", True, True)
def test_invalid_namespace():
with pytest.raises(ValueError):
ucd.parse_ucd("_ivoa:phot.mag", True, True)
def test_invalid_word():
with pytest.raises(ValueError):
ucd.parse_ucd("-pho")