Exemplo n.º 1
0
def test_header_from_readme():
    r = ascii.Cds("data/vizier/ReadMe")
    table = r.read("data/vizier/table1.dat")
    assert len(r.data.data_lines) == 15
    assert len(table) == 15
    assert len(table.keys()) == 18
    Bmag = [
        14.79, 15.00, 14.80, 12.38, 12.36, 12.24, 13.75, 13.65, 13.41, 11.59,
        11.68, 11.53, 13.92, 14.03, 14.18
    ]
    for i, val in enumerate(table.field('Bmag')):
        assert val == Bmag[i]

    table = r.read("data/vizier/table5.dat")
    assert len(r.data.data_lines) == 49
    assert len(table) == 49
    assert len(table.keys()) == 10
    Q = [
        0.289, 0.325, 0.510, 0.577, 0.539, 0.390, 0.957, 0.736, 1.435, 1.117,
        1.473, 0.808, 1.416, 2.209, 0.617, 1.046, 1.604, 1.419, 1.431, 1.183,
        1.210, 1.005, 0.706, 0.665, 0.340, 0.323, 0.391, 0.280, 0.343, 0.369,
        0.495, 0.828, 1.113, 0.499, 1.038, 0.260, 0.863, 1.638, 0.479, 0.232,
        0.627, 0.671, 0.371, 0.851, 0.607, -9.999, 1.958, 1.416, 0.949
    ]
    for i, val in enumerate(table.field('Q')):
        if val is np.ma.masked:
            # text value for a missing value in that table
            assert Q[i] == -9.999
        else:
            assert val == Q[i]
Exemplo n.º 2
0
def test_cds_order():
    # Make sure CDS Reader does not ignore order specifier that maybe present after
    # the null specifier '?'
    readme = 'data/cds/null/ReadMe1'
    data = 'data/cds/null/table.dat'
    r = ascii.Cds(readme)
    r.read(data)
    assert_equal(r.header.cols[5].description,
                 'Catalogue Identification Number')
    assert_equal(r.header.cols[8].description, 'Equivalent width (in mA)')
    assert_equal(r.header.cols[9].description,
                 'Luminosity class codified (11)')
Exemplo n.º 3
0
def test_cds_ignore_nullable():
    # Make sure CDS Reader does not ignore nullabilty for columns
    # with a limit specifier
    readme = 'data/cds/null/ReadMe'
    data = 'data/cds/null/table.dat'
    r = ascii.Cds(readme)
    r.read(data)
    assert_equal(r.header.cols[6].description,
                 'Temperature class codified (10)')
    assert_equal(r.header.cols[8].description,
                 'Luminosity class codified (11)')
    assert_equal(r.header.cols[5].description,
                 'Pericenter position angle (18)')
Exemplo n.º 4
0
def test_cds_no_whitespace():
    # Make sure CDS Reader only checks null values when an '=' symbol is present,
    # and read description text even if there is no whitespace after '?'.
    readme = 'data/cds/null/ReadMe1'
    data = 'data/cds/null/table.dat'
    r = ascii.Cds(readme)
    r.read(data)
    assert_equal(r.header.cols[6].description,
                 'Temperature class codified (10)')
    assert_equal(r.header.cols[6].null, '')
    assert_equal(r.header.cols[7].description, 'Equivalent width (in mA)')
    assert_equal(r.header.cols[7].null, '-9.9')
    assert_equal(r.header.cols[10].description,
                 'DAOSPEC quality parameter Q(large values are bad)')
    assert_equal(r.header.cols[10].null, '-9.999')
Exemplo n.º 5
0
def read_table1(readme, data):
    reader = ascii.Cds(readme)
    return reader.read(data)