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
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
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
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
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