Exemplo n.º 1
0
def test_parse_spectrum_file(fname):
    specdicts = io.parse_spectrum_file(fname)
    assert specdicts
    for specdict in specdicts:
        assert specdict.keys() == specdicts[0].keys()
        assert "intensity" in specdict
        assert "energy" in specdict
Exemplo n.º 2
0
def test_parse_invalid_spectrum_file():
    with pytest.raises(FileNotFoundError):
        io.parse_spectrum_file("tests/fixtures/nonexistent.txt")
    with pytest.raises(ValueError):
        io.parse_spectrum_file("tests/fixtures/faulty.xy")
    with pytest.raises(ValueError):
        io.parse_spectrum_file("tests/fixtures/ag-fitted.xpl")
Exemplo n.º 3
0
def test_spectrum_container():
    class ObservingException(Exception):
        pass
    def cb_exception(*_args):
        raise ObservingException

    specdicts = io.parse_spectrum_file("tests/fixtures/TiO2-110-f.txt")
    spectra = SpectrumContainer()
    for specdict in specdicts:
        spectra.add_spectrum(**specdict)
    assert len(specdicts) == len(spectra)
    spectra.connect("changed-spectrum", cb_exception)
    spectra.connect("changed-peak", cb_exception)
    with pytest.raises(ObservingException):
        spectra.spectra[0].normalization_divisor = 3.1
    with pytest.raises(ObservingException):
        spectrum = spectra.spectra[1]
        peak = spectrum.model.add_peak("p1", area=50, fwhm=0.3, position=3)
        peak.set_constraint("fwhm", max=4.2)
    spectra2 = SpectrumContainer()
    assert len(spectra2) == len(specdicts)
    SpectrumContainer.cleanup()
Exemplo n.º 4
0
def tio2f():
    """TiO2-110-f dataset containing 22 individual spectra."""
    specdicts = io.parse_spectrum_file("tests/fixtures/TiO2-110-f.txt")
    return Spectrum(**specdicts[3])
Exemplo n.º 5
0
# pylint: disable=missing-docstring
# pylint: disable=redefined-outer-name

import pytest
import numpy as np
import matplotlib.pyplot as plt

from gxps.spectrum import Spectrum
from gxps import io
from gxps import processing as proc


########## Fixtures

parsed_sdicts = [
    io.parse_spectrum_file("tests/fixtures/TiO2-110-f.txt"),
    io.parse_spectrum_file("tests/fixtures/Al-NE-FeCr-S02p6-Fe2p-3.xy"),
    io.parse_spectrum_file("tests/fixtures/21-04_015-XAS_100.xy"),
]

parsed_spectra = [Spectrum(**sdictlist[-1]) for sdictlist in parsed_sdicts]

@pytest.fixture
def tio2f():
    """TiO2-110-f dataset containing 22 individual spectra."""
    specdicts = io.parse_spectrum_file("tests/fixtures/TiO2-110-f.txt")
    return Spectrum(**specdicts[3])

parsed_spectra.append(Spectrum(
    energy=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
    intensity=[4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],