From a51a720aa9747c1a8f293dd4c5795c52c4a32dc0 Mon Sep 17 00:00:00 2001
From: ahmedk <karim.ahmed@xfel.eu>
Date: Tue, 30 Jan 2024 15:50:28 +0100
Subject: [PATCH] Add tests for sorting dark runs

---
 tests/test_gotthard2lib.py | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 tests/test_gotthard2lib.py

diff --git a/tests/test_gotthard2lib.py b/tests/test_gotthard2lib.py
new file mode 100644
index 000000000..b84509ff6
--- /dev/null
+++ b/tests/test_gotthard2lib.py
@@ -0,0 +1,25 @@
+import pytest
+
+from cal_tools.gotthard2.gotthard2lib import sort_dark_runs_by_gain
+
+
+def test_sort_dark_runs_by_gain():
+    # TODO: update used raw data to test data when available.
+    raw_folder = "/gpfs/exfel/exp/FXE/202231/p900298/raw"
+    ctrl_src = "FXE_XAD_G2XES/DET/CONTROL"
+    runs = [9, 8, 7]
+    sorted_runs = sort_dark_runs_by_gain(raw_folder, runs, ctrl_src)
+    assert sorted_runs == [7, 8, 9]
+
+
+def test_raise_sort_dark_runs_by_gain():
+    # TODO: update used raw data to test data when available.
+    raw_folder = "/gpfs/exfel/exp/SA1/202331/p900384/raw"
+    ctrl_src = "SA1_XTD9_HIREX/DET/GOTTHARD2_CTRL"
+    runs = [60, 61, 62, 63]
+    with pytest.raises(AssertionError) as err:
+        sort_dark_runs_by_gain(raw_folder, runs, ctrl_src)
+
+    runs = [89, 61, 63]  # dynamicgain, dynamicgain, fixgain2
+    with pytest.raises(ValueError) as err:
+        sort_dark_runs_by_gain(raw_folder, runs, ctrl_src)
\ No newline at end of file
-- 
GitLab