diff --git a/tests/test_gotthard2lib.py b/tests/test_gotthard2lib.py
new file mode 100644
index 0000000000000000000000000000000000000000..b84509ff64658d1a0613eea4f33627e7bc933e1c
--- /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