Skip to content

Commit 5ebb033

Browse files
rprosperoDrPaulSharp
authored andcommitted
Start moving XML into James test framework
1 parent 5c82ea6 commit 5ebb033

1 file changed

Lines changed: 86 additions & 15 deletions

File tree

test/sasdataloader/utest_sasdataload.py

Lines changed: 86 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,6 @@ def example_data_load(path: str):
7070
return hdf_load_data(local_load(f"data/{path}.h5"))
7171

7272

73-
@pytest.mark.sasdata
74-
@pytest.mark.parametrize("f", test_xml_file_names)
75-
def test_xml_load_file(f):
76-
data = xml_load_data(local_load(f"data/{f}"))
77-
78-
with open(local_load(f"reference/{f}.txt"), encoding="utf-8") as infile:
79-
expected = "".join(infile.readlines())
80-
keys = sorted([d for d in data])
81-
assert "".join(data[k].summary() for k in keys) == expected
82-
83-
8473
@pytest.mark.sasdata
8574
def test_filter_data():
8675
data = xml_load_data(local_load("data/cansas1d_notitle"))
@@ -98,7 +87,7 @@ def test_filter_data():
9887

9988

10089
@pytest.mark.sasdata
101-
@pytest.mark.parametrize("f", test_hdf_file_names + test_xml_file_names)
90+
@pytest.mark.parametrize("f", test_xml_file_names)
10291
def test_json_serialise(f):
10392
data = example_data_load(f)
10493

@@ -108,7 +97,7 @@ def test_json_serialise(f):
10897

10998

11099
@pytest.mark.sasdata
111-
@pytest.mark.parametrize("f", test_hdf_file_names + test_xml_file_names)
100+
@pytest.mark.parametrize("f", test_xml_file_names)
112101
def test_json_deserialise(f):
113102
expected = example_data_load(f)
114103

@@ -129,7 +118,7 @@ def test_json_deserialise(f):
129118

130119

131120
@pytest.mark.sasdata
132-
@pytest.mark.parametrize("f", test_xml_file_names + test_hdf_file_names)
121+
@pytest.mark.parametrize("f", test_xml_file_names)
133122
def test_h5_round_trip_serialise(f):
134123
expected = example_data_load(f)
135124

@@ -176,6 +165,7 @@ class BulkAsciiTestCase(AsciiTestCase):
176165
@dataclass(kw_only=True)
177166
class XmlTestCase(BaseTestCase):
178167
filename: str
168+
entry: str = "sasentry01"
179169

180170

181171
@dataclass(kw_only=True)
@@ -275,6 +265,7 @@ class SesansTestCase(BaseTestCase):
275265
),
276266
XmlTestCase(
277267
filename=local_data_load("ISIS_1_0.xml"),
268+
entry="79680main_1D_2.2_10.0",
278269
expected_values={
279270
0: {"Q": 0.009, "I": 85.3333, "dI": 0.852491, "dQ": 0},
280271
-2: {"Q": 0.281, "I": 0.408902, "dQ": 0},
@@ -313,6 +304,85 @@ class SesansTestCase(BaseTestCase):
313304
metadata_file=local_reference_load("nxcansas_1Dand2D_multisasdata.txt"),
314305
expected_values={},
315306
),
307+
XmlTestCase(
308+
filename=local_data_load("ISIS_1_0.xml"),
309+
entry="79680main_1D_2.2_10.0",
310+
metadata_file=local_reference_load("ISIS_1_0.txt"),
311+
expected_values={},
312+
),
313+
XmlTestCase(
314+
filename=local_data_load("ISIS_1_1.xml"),
315+
entry="79680main_1D_2.2_10.0",
316+
metadata_file=local_reference_load("ISIS_1_1.txt"),
317+
expected_values={},
318+
),
319+
XmlTestCase(
320+
filename=local_data_load("ISIS_1_1_doubletrans.xml"),
321+
entry="79680main_1D_2.2_10.0",
322+
metadata_file=local_reference_load("ISIS_1_1_doubletrans.txt"),
323+
expected_values={},
324+
),
325+
XmlTestCase(
326+
filename=local_data_load("ISIS_1_1_notrans.xml"),
327+
entry="79680main_1D_2.2_10.0",
328+
metadata_file=local_reference_load("ISIS_1_1_notrans.txt"),
329+
expected_values={},
330+
),
331+
XmlTestCase(
332+
filename=local_data_load("TestExtensions.xml"),
333+
entry="TK49 c10_SANS",
334+
metadata_file=local_reference_load("TestExtensions.txt"),
335+
expected_values={},
336+
),
337+
XmlTestCase(
338+
filename=local_data_load("cansas1d.xml"),
339+
entry="Test title",
340+
metadata_file=local_reference_load("cansas1d.txt"),
341+
expected_values={},
342+
),
343+
XmlTestCase(
344+
filename=local_data_load("cansas1d_badunits.xml"),
345+
entry="Test title",
346+
metadata_file=local_reference_load("cansas1d_badunits.txt"),
347+
expected_values={},
348+
),
349+
XmlTestCase(
350+
filename=local_data_load("cansas1d_notitle.xml"),
351+
entry="SasData01",
352+
metadata_file=local_reference_load("cansas1d_notitle.txt"),
353+
expected_values={},
354+
),
355+
XmlTestCase(
356+
filename=local_data_load("cansas1d_slit.xml"),
357+
entry="Test title",
358+
metadata_file=local_reference_load("cansas1d_slit.txt"),
359+
expected_values={},
360+
),
361+
XmlTestCase(
362+
filename=local_data_load("cansas1d_units.xml"),
363+
entry="Test title",
364+
metadata_file=local_reference_load("cansas1d_units.txt"),
365+
expected_values={},
366+
),
367+
XmlTestCase(
368+
filename=local_data_load("cansas_test.xml"),
369+
entry="ILL-D11 example1: 2A 5mM 0%D2O",
370+
metadata_file=local_reference_load("cansas_test.txt"),
371+
expected_values={},
372+
),
373+
XmlTestCase(
374+
filename=local_data_load("cansas_test_modified.xml"),
375+
entry="ILL-D11 example1: 2A 5mM 0%D2O",
376+
metadata_file=local_reference_load("cansas_test_modified.txt"),
377+
expected_values={},
378+
),
379+
# XmlTestCase(filename=local_data_load("cansas_xml_multisasentry_multisasdata.xml"), metadata_file=local_reference_load("cansas_xml_multisasentry_multisasdata.txt"), expected_values={}),
380+
XmlTestCase(
381+
filename=local_data_load("valid_cansas_xml.xml"),
382+
entry="80514main_1D_2.2_10.0",
383+
metadata_file=local_reference_load("valid_cansas_xml.txt"),
384+
expected_values={},
385+
),
316386
]
317387

318388

@@ -354,7 +424,8 @@ def test_load_file(test_case: BaseTestCase):
354424
# TODO: Support SESANS
355425
case XmlTestCase():
356426
# Not bulk, so just assume we get one dataset.
357-
loaded_data = next(iter(xml_load_data(test_case.filename).items()))[1]
427+
combined_data = xml_load_data(test_case.filename)
428+
loaded_data = combined_data[test_case.entry]
358429
case _:
359430
raise ValueError("Invalid loader")
360431
if isinstance(test_case, BulkAsciiTestCase):

0 commit comments

Comments
 (0)