def test_add_sequence(self): contig = EMBLContig() contig.header = self.create_blank_bit_of_contig() contig.features['feature_1'] = self.create_blank_bit_of_contig() contig.add_sequence('AAAACCCGGTNN') self.assertIsInstance(contig.sequence, EMBLSequence) self.assertRaises(ValueError, contig.add_sequence, 'AAAACCCGGTNN')
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_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_sequence(self): contig = EMBLContig() contig.header = self.create_blank_bit_of_contig() contig.features['feature_1'] = self.create_blank_bit_of_contig() self.assertEqual(contig.sequence, 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(), '')