def test_list_response_ids_pha1(make_data_path): """Does list_response_ids return a list when input is pha1""" basename = '3c120_heg_1.pha' fakeid = 3 infile = make_data_path(basename) ui.load_pha(infile) def validate(rids): assert len(rids) == 1 assert 1 in rids assert isinstance(rids, list) def validate_err(i, excinfo): emsg = "background data set {} ".format(fakeid) + \ "in PHA data set {} has not been set".format(i) assert str(excinfo.value) == emsg rids = ui.list_response_ids() validate(rids) for bid in [1, 2]: rids = ui.list_response_ids(bkg_id=bid) validate(rids) with pytest.raises(IdentifierErr) as excinfo: ui.list_response_ids(bkg_id=fakeid) validate_err(1, excinfo) ui.load_pha('heg1', infile) rids = ui.list_response_ids('heg1') validate(rids) for bid in [1, 2]: rids = ui.list_response_ids('heg1', bkg_id=bid) validate(rids) with pytest.raises(IdentifierErr) as excinfo: ui.list_response_ids('heg1', bkg_id=fakeid) validate_err('heg1', excinfo)
def test_list_response_ids_pha2(make_data_path): """Does list_response_ids return a list when input is pha2""" basename = '3c120_pha2' fakeid = 3 infile = make_data_path(basename) ui.load_pha(infile) def validate(rids): "No response is read in with PHA2" assert rids == [] def validate_err(i, excinfo): emsg = "background data set {} ".format(fakeid) + \ "in PHA data set {} has not been set".format(i) assert str(excinfo.value) == emsg rids = ui.list_response_ids() validate(rids) with pytest.raises(IdentifierErr) as excinfo: ui.list_response_ids(bkg_id=fakeid) validate_err(1, excinfo) for i in range(1, 13): rids = ui.list_response_ids(i) validate(rids) for bkgid in [1, 2]: rids = ui.list_response_ids(i, bkg_id=bkgid) validate(rids) with pytest.raises(IdentifierErr) as excinfo: ui.list_response_ids(i, bkg_id=fakeid) validate_err(i, excinfo)