import unittest import pytest from server.app.scanpy_engine.scanpy_engine import ScanpyEngine class UtilTest(unittest.TestCase): def setUp(self): self.data = ScanpyEngine("example-dataset/") def test_init(self): self.assertEqual(self.data.cell_count, 2638) self.assertEqual(self.data.gene_count, 1838) epsilon = 0.000005 self.assertTrue(self.data.data.X[0,0] - -0.17146951 < epsilon) def test_mandatory_annotations(self): self.assertIn("name", self.data.data.obs) self.assertEqual(list(self.data.data.obs.index), list(range(2638))) self.assertIn("name", self.data.data.var) self.assertEqual(list(self.data.data.var.index), list(range(1838))) @pytest.mark.filterwarnings("ignore:Scanpy data matrix") def test_data_type(self): self.data.data.X = self.data.data.X.astype("float64") self.assertWarns(UserWarning, self.data._validatate_data_types()) if __name__ == '__main__': unittest.main()