Ejemplo n.º 1
0
def test_MyParser_parseFile(db, data_key, meta):
    data_file = db[data_key]
    parser = MyParser()
    parser.parseFile(data_file, meta=meta)
    if meta:
        for key, value in meta.items():
            assert parser._meta[key] == value
Ejemplo n.º 2
0
def test_MyParser_parsePDFGetter(db, data_key, meta):
    pdfgetter = db[data_key]
    parser = MyParser()
    parser.parsePDFGetter(pdfgetter, meta=meta)
    if meta:
        for key, value in meta.items():
            assert parser._meta[key] == value
Ejemplo n.º 3
0
def test_MyParser_parseDict(db, meta):
    parser = MyParser()
    parser.parseDict(db['Ni_gr'], meta=meta)
    recipe = multi_phase([db['Ni_stru']], parser, fit_range=(0., 8., .1))
    con = next(iter(recipe.contributions.values()))
    gen = next(iter(con.generators.values()))
    # if meta = None, generator will use the default values
    assert gen.getQmin() == parser._meta.get('qmin', 0.0)
    assert gen.getQmax() == parser._meta.get('qmax', 100. * np.pi)
    assert gen.qdamp.value == parser._meta.get('qdamp', 0.0)
    assert gen.qbroad.value == parser._meta.get('qbroad', 0.0)
Ejemplo n.º 4
0
def test_ConConfig(db, kwargs, expect):
    parser = MyParser()
    parser.parseFile(db['Ni_gr_file'])
    stru = db['Ni_stru']
    con_config = ConConfig(name="con",
                           parser=parser,
                           fit_range=(0., 8., .1),
                           genconfigs=[GenConfig('G0', stru)],
                           eq="G0",
                           **kwargs)
    for key, value in expect.items():
        assert getattr(con_config, key) == value
Ejemplo n.º 5
0
def test_make_contribution(db):
    parser = MyParser()
    parser.parseFile(db['Ni_gr_file'])
    gen_config = GenConfig("G", db['Ni_stru'])
    fun_config = FunConfig("f", F.sphericalCF)
    con_config = ConConfig(name="test",
                           parser=parser,
                           fit_range=(0, 8, 0.01),
                           eq="G + B",
                           funconfigs=[fun_config],
                           genconfigs=[gen_config],
                           baselines=[GaussianGenerator("B")])
    con = make_contribution(con_config)
    assert len(con.generators) == 2
Ejemplo n.º 6
0
Archivo: io.py Proyecto: st3107/pdffitx
def load_parser(filename: str, meta: dict) -> MyParser:
    """Load data and metadata from the filename into a parser.

    Parameters
    ----------
    filename :
        The name of the data file.

    meta :
        The dictionary of the meta data, like {'qdamp': 0.04, 'qbroad': 0.02}.

    Returns
    -------
    parser :
        The parser that contains the data and metadata.
    """
    parser = MyParser()
    parser.parseFile(filename, meta=meta)
    return parser
Ejemplo n.º 7
0
def test_MyParser_parseDict_error(data):
    parser = MyParser()
    with pytest.raises(ValueError):
        parser.parseDict(data)