forked from dgbowl/yadg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_xpstrace.py
48 lines (42 loc) · 1.31 KB
/
test_xpstrace.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import json
import os
import numpy as np
import pytest
from tests.utils import datagram_from_input, standard_datagram_test
@pytest.mark.parametrize(
"input, ts",
[
( # ts0 - test0.spe
{"case": "test0.spe", "parameters": {"tracetype": "phi.spe"}},
{"nsteps": 1, "step": 0, "nrows": 1, "point": 0},
),
( # ts1 - test1.spe
{"case": "test1.spe", "parameters": {"tracetype": "phi.spe"}},
{"nsteps": 1, "step": 0, "nrows": 1, "point": 0},
),
],
)
def test_datagram_from_xpstrace(input, ts, datadir):
ret = datagram_from_input(input, "xpstrace", datadir)
standard_datagram_test(ret, ts)
@pytest.mark.parametrize(
"input",
[
(
{ # ts0 - test0.spe
"case": "test0.spe",
"parameters": {"tracetype": "phi.spe"},
}
),
],
)
def test_compare_raw_values(input, datadir):
os.chdir(datadir)
with open("test0.json", "r") as infile:
ref = json.load(infile)["traces"]
ret = datagram_from_input(input, "xpstrace", datadir)
ret = ret["steps"][0]["data"][0]["raw"]["traces"]
for key in ret.keys():
for ax in ["E", "y"]:
for i in ["n", "s"]:
assert np.allclose(ref[key][ax][i], ret[key][ax][i], equal_nan=True)