def test_format_line_too_long(self): contig = EMBLContig() header_mock = MagicMock() sequence_mock = MagicMock() header_mock.format.return_value = "Header" sequence_mock.format.return_value = "Very long line: " + '*'*100 contig.header = header_mock contig.features = {} contig.sequence = sequence_mock self.assertRaises(ValueError, contig.format)
def test_add_header(self): contig = EMBLContig() contig.features['feature_1'] = self.create_blank_bit_of_contig() contig.sequence = self.create_blank_bit_of_contig() header_details = { "authors": "John Doe", "classification": "UNC", "genome_type": "circular", "organism": "My organism", "project": "PRJ1234", "publication": "Unpublished", "sequence_identifier": "**contig123", "sequence_length": 8, "sequence_name": "chromX", "taxon_id": 5678, "title": "My title" } contig.add_header(**header_details) self.assertIsInstance(contig.header, EMBLHeader) with self.assertRaises(ValueError): contig.add_header(**header_details)
def test_format(self): contig = EMBLContig() header_mock = MagicMock() feature_mock_1 = MagicMock() feature_mock_2 = MagicMock() sequence_mock = MagicMock() header_mock.format.return_value = "Header\n" feature_mock_1.format.return_value = "Feature 1\n" feature_mock_1.start = 0 feature_mock_2.format.return_value = "Feature 2\n" feature_mock_2.start = 100 sequence_mock.format.return_value = "Sequence\n" contig.header = header_mock contig.features = {1: feature_mock_1, 2: feature_mock_2} contig.sequence = sequence_mock calculated_string = contig.format() expected_string = """\ Header Feature 1 Feature 2 Sequence """ self.assertEqual(calculated_string, expected_string)
def test_format_no_header(self): contig = EMBLContig() contig.features['feature_1'] = self.create_blank_bit_of_contig() contig.sequence = self.create_blank_bit_of_contig() self.assertEqual(contig.header, None) self.assertRaises(ValueError, contig.format)
def test_format_no_features(self): contig = EMBLContig() contig.header = self.create_blank_bit_of_contig() contig.sequence = self.create_blank_bit_of_contig() self.assertEquals(contig.format(), '')