Пример #1
0
def test_refgeom_bad_bistatic():
    cphd_con = CphdConsistency.from_file(BISTATIC_CPHD,
                                         schema=DEFAULT_SCHEMA,
                                         check_signal_data=False)
    bad_node = cphd_con.xml.find(
        './ReferenceGeometry/Bistatic/RcvPlatform/SlantRange')
    bad_node.text = '2' + bad_node.text

    cphd_con.check('check_refgeom_bistatic')
    assert len(cphd_con.failures()) > 0
Пример #2
0
def test_txrcv_bad_rcvid(xml_with_txrcv):
    chan_ids, root, nsmap = xml_with_txrcv

    chan_param_node = root.xpath(
        './ns:Channel/ns:Parameters/ns:Identifier[text()="{}"]/..'.format(
            chan_ids[0]),
        namespaces=nsmap)[0]
    chan_param_node.xpath('./ns:TxRcv/ns:RcvId',
                          namespaces=nsmap)[-1].text = 'missing'

    cphd_con = CphdConsistency(root,
                               pvps=None,
                               header=None,
                               filename=None,
                               schema=DEFAULT_SCHEMA,
                               check_signal_data=False)

    tocheck = ['check_channel_txrcv_exist_{}'.format(key) for key in chan_ids]
    cphd_con.check(tocheck)
    assert len(cphd_con.failures()) > 0
Пример #3
0
def test_geoinfo_polygons_bad_order(good_xml):
    root = copy_xml(good_xml['with_ns'])
    root.append(make_elem('GeoInfo', namespace=good_xml['nsmap']['ns'], children=[
        make_elem('Polygon', size='3', namespace=good_xml['nsmap']['ns'], children=[
            make_elem('Vertex', index='1', namespace=good_xml['nsmap']['ns'], children=[
                make_elem('Lat', 0.0, namespace=good_xml['nsmap']['ns']),
                make_elem('Lon', 0.0, namespace=good_xml['nsmap']['ns']),
            ]),
            make_elem('Vertex', index='2', namespace=good_xml['nsmap']['ns'], children=[
                make_elem('Lat', 0.0, namespace=good_xml['nsmap']['ns']),
                make_elem('Lon', 1.0, namespace=good_xml['nsmap']['ns']),
            ]),
            make_elem('Vertex', index='3', namespace=good_xml['nsmap']['ns'], children=[
                make_elem('Lat', 1.0, namespace=good_xml['nsmap']['ns']),
                make_elem('Lon', 1.0, namespace=good_xml['nsmap']['ns']),
            ]),
        ])
    ]))

    cphd_con = CphdConsistency(
        root, pvps=None, header=None, filename=None, schema=DEFAULT_SCHEMA, check_signal_data=False)

    cphd_con.check('check_geoinfo_polygons')
    assert len(cphd_con.failures()) > 0
Пример #4
0
def test_signalnormal_bad_pvp(xml_with_signal_normal):
    pvps, root, nsmap = xml_with_signal_normal

    for idx, pvp in enumerate(pvps.values()):
        pvp['SIGNAL'][idx] = 0
    cphd_con = CphdConsistency(
        root, pvps=pvps, header=None, filename=None, schema=DEFAULT_SCHEMA, check_signal_data=False)
    tocheck = ['check_channel_signalnormal_{}'.format(key) for key in pvps.keys()]
    cphd_con.check(tocheck)
    assert len(cphd_con.failures()) == len(pvps)

    for norm_node in root.findall('./ns:Channel/ns:Parameters/ns:SignalNormal', namespaces=nsmap):
        norm_node.text = 'false'
    cphd_con = CphdConsistency(
        root, pvps=pvps, header=None, filename=None, schema=DEFAULT_SCHEMA, check_signal_data=False)
    cphd_con.check(tocheck)
    assert len(cphd_con.failures()) == 0

    no_sig_pvp = {name: np.zeros(pvp.shape, dtype=[('notsignal', 'i8')]) for name, pvp in pvps.items()}
    cphd_con = CphdConsistency(
        root, pvps=no_sig_pvp, header=None, filename=None, schema=DEFAULT_SCHEMA, check_signal_data=False)
    cphd_con.check(tocheck)
    assert len(cphd_con.failures()) > 0
Пример #5
0
def test_from_file_cphd():
    cphdcon = CphdConsistency.from_file(str(GOOD_CPHD), DEFAULT_SCHEMA, True)
    assert isinstance(cphdcon, CphdConsistency)
    cphdcon.check()
    assert len(cphdcon.failures()) == 0