Source code for ewoksid14.tests.test_spec

import numpy

from ..io import spec


[docs] def test_io_spec(): time_iso = "2025-08-27T13:53:01.817551" time_spec = "Wed Aug 27 13:53:01 2025" mca = numpy.arange(6) mca_string = spec.mca_data_to_spec_string(mca, date=time_iso) expected = [ "#F unspecified", f"#D {time_spec}", "", "#S ct", f"#D {time_spec}", "#N 1", "#@MCA 16C", "#@CHANN 6 0 5 1", "#@CALIB 0 1 0", "#@CTIME nan nan nan", "#@MCA_NB 1", "#L MCA0", "@A 0 1 2 3 4 5", "", ] assert mca_string.split("\n") == expected mca = numpy.arange(16) mca_string = spec.mca_data_to_spec_string(mca, date=time_iso) expected = [ "#F unspecified", f"#D {time_spec}", "", "#S ct", f"#D {time_spec}", "#N 1", "#@MCA 16C", "#@CHANN 16 0 15 1", "#@CALIB 0 1 0", "#@CTIME nan nan nan", "#@MCA_NB 1", "#L MCA0", "@A 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15", "", ] assert mca_string.split("\n") == expected mca = numpy.arange(32) mca_string = spec.mca_data_to_spec_string(mca, date=time_iso) expected = [ "#F unspecified", f"#D {time_spec}", "", "#S ct", f"#D {time_spec}", "#N 1", "#@MCA 16C", "#@CHANN 32 0 31 1", "#@CALIB 0 1 0", "#@CTIME nan nan nan", "#@MCA_NB 1", "#L MCA0", "@A 0 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", "", ] assert mca_string.split("\n") == expected mca = numpy.arange(33) mca_string = spec.mca_data_to_spec_string(mca, date=time_iso) expected = [ "#F unspecified", f"#D {time_spec}", "", "#S ct", f"#D {time_spec}", "#N 1", "#@MCA 16C", "#@CHANN 33 0 32 1", "#@CALIB 0 1 0", "#@CTIME nan nan nan", "#@MCA_NB 1", "#L MCA0", "@A 0 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", "", ] assert mca_string.split("\n") == expected mca = numpy.arange(33) mca_string = spec.mca_data_to_spec_string( mca, date=time_iso, metadata={"a": 1, "b": 2} ) expected = [ "#F unspecified", f"#D {time_spec}", "", "#S ct", f"#D {time_spec}", "#C a = 1", "#C b = 2", "#N 1", "#@MCA 16C", "#@CHANN 33 0 32 1", "#@CALIB 0 1 0", "#@CTIME nan nan nan", "#@MCA_NB 1", "#L MCA0", "@A 0 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", "", ] assert mca_string.split("\n") == expected
[docs] def test_io_spec2(): scan = spec.SpecScanData( "1.1", "NISscan", "Wed Aug 27 13:53:01 2025", scan_data={"diode1": [1, 2], "diode2": [3, 4], "Seconds": [0.5, 0.5]}, n_points=2, ) mca_string = spec.scan_data_to_spec_string(scan) expected = [ "#S 1 NISscan", "#D Wed Aug 27 13:53:01 2025", "#T 0.5 (Seconds)", "#L diode1 diode2 Seconds", "1 3 0.5", "2 4 0.5", "#C", "", "", ] assert mca_string.split("\n") == expected