class SampleTestCase(unittest.TestCase): def setUp(self): self.series = Series("GSE123456", "GSE123456_family.soft.subset") self.sample = Sample("GSM1", self.series) def test_is_info_complete(self): self.assertFalse(self.sample.is_info_complete()) self.sample.organism = "Mus musculus" self.assertFalse(self.sample.is_info_complete()) self.sample.url = "ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX000/SRX000000" self.assertTrue(self.sample.is_info_complete()) @mock.patch("rsempipeline.utils.objs.Sample.is_info_complete") def test_gen_outdir(self, mock_is_info_complete): self.sample.organism = "Mus musculus" self.sample.url = "ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX000/SRX000000" self.assertEqual(self.sample.gen_outdir("some_outdir"), "some_outdir/GSE123456/mus_musculus/GSM1") self.assertEqual(self.sample.outdir, "some_outdir/GSE123456/mus_musculus/GSM1") mock_is_info_complete.return_value = False self.assertRaisesRegexp(ValueError, "not information complete", self.sample.gen_outdir, "some_outdir") def test___str__(self): self.sample.organism = "Mus musculus" self.sample.url = "ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX000/SRX000000" self.sample.gen_outdir("some_outdir") self.assertEqual(str(self.sample), "<GSM1 (0/0/0) of GSE123456 at some_outdir/GSE123456/mus_musculus/GSM1>") def test___repr__(self): self.sample.organism = "Mus musculus" self.sample.url = "ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX000/SRX000000" self.sample.gen_outdir("some_outdir") self.assertEqual(str(self.sample), "<GSM1 (0/0/0) of GSE123456 at some_outdir/GSE123456/mus_musculus/GSM1>")