@@ -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
8574def 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 )
10291def 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 )
112101def 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 )
133122def 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 )
177166class 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