import pytest from qolab.data.trace import loadTrace import numpy as np def isItExpectedTrace(tr): cfg = tr.getConfig() assert cfg['config']['version'] == '0.1' assert cfg['config']['model'] == 'Trace' data = tr.getData() assert np.all( (data - np.array([[1], [3], [2], [5]])) == 0 ) return True def test_load_uncompressed_v0dot1_trace(): tr = loadTrace('tests/trace_test_data/xtrace1.dat') assert isItExpectedTrace(tr) == True def test_load_gzip_compressed_v0dot1_trace(): tr = loadTrace('tests/trace_test_data/xtrace1.dat.gz') assert isItExpectedTrace(tr) == True def test_tryCompressedIfMissing(): fname = 'tests/trace_test_data/only_compressed_file1.dat' # first we check that the guess is working tr = loadTrace(fname, tryCompressedIfMissing=True) assert isItExpectedTrace(tr) == True # now we disable search for compressed version with pytest.raises(FileNotFoundError) as exc_info: tr = loadTrace(fname, tryCompressedIfMissing=False)