diff --git a/tests/test_lpdlib.py b/tests/test_lpdlib.py
new file mode 100644
index 0000000000000000000000000000000000000000..5648c5c64b1a3632d44c5504ef54dfdf36451953
--- /dev/null
+++ b/tests/test_lpdlib.py
@@ -0,0 +1,27 @@
+import pytest
+
+from cal_tools.lpdlib import sort_dark_runs_by_gain
+
+
+@pytest.mark.requires_gpfs
+def test_sort_dark_runs_by_gain():
+    # TODO: update used raw data to test data when available.
+    raw_folder = "/gpfs/exfel/exp/CALLAB/202130/p900203/raw"
+    ctrl_src = "FXE_DET_LPD1M-1/COMP/FEM_MDL_COMP"
+    runs = [9008, 9010, 9009]
+    sorted_runs = sort_dark_runs_by_gain(raw_folder, runs, ctrl_src)
+    assert sorted_runs == [9008, 9009, 9010]
+
+
+@pytest.mark.requires_gpfs
+def test_raise_sort_dark_runs_by_gain():
+    # TODO: update used raw data to test data when available.
+    raw_folder = "/gpfs/exfel/exp/CALLAB/202130/p900203/raw"
+    ctrl_src = "FXE_DET_LPD1M-1/COMP/FEM_MDL_COMP"
+    runs = [9008, 9009]
+    with pytest.raises(AssertionError) as err:
+        sort_dark_runs_by_gain(raw_folder, runs, ctrl_src)
+
+    runs = [9008, 9008, 9009]  # dynamicgain, dynamicgain, fixgain2
+    with pytest.raises(ValueError) as err:
+        sort_dark_runs_by_gain(raw_folder, runs, ctrl_src)