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
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")
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()
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])
# 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],