--- a
+++ b/tests/deseq2/test_collapse.py
@@ -0,0 +1,16 @@
+import unittest
+
+import numpy as np
+
+from inmoose.deseq2 import collapseReplicates, makeExampleDESeqDataSet
+
+
+class Test(unittest.TestCase):
+    def test_collapse(self):
+        """test that collapse replicates works"""
+        dds = makeExampleDESeqDataSet(n=10, m=8)
+        dds.obs["sample"] = np.repeat([1, 2, 3, 4], 2)
+        dds.obs["run"] = np.arange(8)
+        dds2 = collapseReplicates(dds, groupby=dds.obs["sample"], run=dds.obs["run"])
+        self.assertTrue(np.all(dds2.counts()[0, :] == np.sum(dds.counts()[0:2, :], 0)))
+        self.assertEqual(dds2.obs["runsCollapsed"].iloc[0], "0,1")