コード例 #1
0
 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)
コード例 #2
0
  def test_get_sorted_features_3(self):
    # Must be able to get a list of features sorted by (start, end) irrespective of strand
    contig = EMBLContig()
    feature_1 = MagicMock()
    feature_1.start = 100
    feature_1.end = 1500
    feature_2 = MagicMock()
    feature_2.start = 1100
    feature_2.end = 2000

    contig.features = {1: feature_1, 2: feature_2}
    expected_features = [feature_1, feature_2]
    self.assertEquals(contig.sorted_features(), expected_features)

    contig.features = {2: feature_2, 1: feature_1}
    expected_features = [feature_1, feature_2]
    self.assertEquals(contig.sorted_features(), expected_features)

    contig.features = {2: feature_1, 1: feature_2}
    expected_features = [feature_1, feature_2]
    self.assertEquals(contig.sorted_features(), expected_features)
コード例 #3
0
  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)