Skip to content

Commit 4201616

Browse files
committed
Update of the challenge class API
read_edges => edges read_fasta => fasta This functions are related to the build() not to the read() method.
1 parent ee2727f commit 4201616

File tree

3 files changed

+22
-15
lines changed

3 files changed

+22
-15
lines changed

challenges/challenge.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
This module holds the base class of all challenges.
44
"""
55

6+
import math
67
import re
8+
79
import types
8-
import math
910

1011

1112
class Challenge:
@@ -82,6 +83,10 @@ class Challenge:
8283
"""
8384

8485
fasta_pattern = '^[\-\*A-Z]+$'
86+
"""Reg expression for FASTA sequences.
87+
88+
Matches lines holding FASTA sequences.
89+
"""
8590

8691
def __init__(self):
8792
self.lines = []
@@ -201,7 +206,7 @@ def line_to_edge(self, nr):
201206
match = re.compile(self.edge_pattern).match(self.line(nr))
202207
return self._to_edge(match)
203208

204-
def read_edges(self, start=0, stop=None):
209+
def edges(self, start=0, stop=None):
205210
"""Generator to read edges from lines.
206211
207212
Reads a range of lines, one edge per line, and yields the edges.
@@ -229,7 +234,7 @@ def read_edges(self, start=0, stop=None):
229234
else:
230235
break # If edges end before stop, which may be infinity
231236

232-
def read_fasta(self, start=0, stop=None):
237+
def fasta(self, start=0, stop=None):
233238
"""Generator to read FASTA formatted samples.
234239
235240
Reads multiple fasta sequences and yields them.

challenges/scaffold.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ def setUp(self):
7575
def test__init__(self):
7676
self.assertIsInstance(self.challenge, {}Challenge)
7777
self.assertIn('XXX', self.challenge.sample)
78+
self.assertIn('XXX', self.challenge.expect)
7879
7980
def test_build(self):
8081
self.skipTest('Not implemented.')

tests/test_challenge.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import unittest
2+
23
from types import SimpleNamespace
34

45
from challenges import Challenge
@@ -102,8 +103,8 @@ def test_read_edges_from_to(self):
102103
5
103104
'''
104105
self.challenge.read()
105-
result = self.challenge.read_edges(start=2, stop=4)
106-
self.assertEqual(result.__name__, 'read_edges')
106+
result = self.challenge.edges(start=2, stop=4)
107+
self.assertEqual(result.__name__, 'edges')
107108
self.assertEqual(len(list(result)), 2)
108109

109110
def test_read_edges_from(self):
@@ -117,7 +118,7 @@ def test_read_edges_from(self):
117118
5
118119
'''
119120
self.challenge.read()
120-
result = self.challenge.read_edges(start=2)
121+
result = self.challenge.edges(start=2)
121122
self.assertEqual(len(list(result)), 3)
122123

123124
def test_read_edges_without_given_range(self):
@@ -128,7 +129,7 @@ def test_read_edges_without_given_range(self):
128129
3->9
129130
'''
130131
self.challenge.read()
131-
result = self.challenge.read_edges()
132+
result = self.challenge.edges()
132133
self.assertEqual(len(list(result)), 3)
133134

134135
def test_read_fasta_from_to(self):
@@ -151,8 +152,8 @@ def test_read_fasta_from_to(self):
151152
14
152153
'''
153154
self.challenge.read()
154-
result = self.challenge.read_fasta(start=5, stop=11)
155-
self.assertEqual(result.__name__, 'read_fasta')
155+
result = self.challenge.fasta(start=5, stop=11)
156+
self.assertEqual(result.__name__, 'fasta')
156157
self.assertEqual(len(list(result)), 2)
157158

158159
def test_read_fasta_from(self):
@@ -175,8 +176,8 @@ def test_read_fasta_from(self):
175176
14
176177
'''
177178
self.challenge.read()
178-
result = self.challenge.read_fasta(start=5)
179-
self.assertEqual(result.__name__, 'read_fasta')
179+
result = self.challenge.fasta(start=5)
180+
self.assertEqual(result.__name__, 'fasta')
180181
fasta = dict(result)
181182
self.assertEqual('AAATTT', fasta['FAS_4'])
182183
self.assertEqual(len(fasta), 3)
@@ -198,8 +199,8 @@ def test_read_fasta_without_given_range(self):
198199
TGGGAACCTGCGGGCAGTAGGTGGAAT
199200
'''
200201
self.challenge.read()
201-
result = self.challenge.read_fasta()
202-
self.assertEqual(result.__name__, 'read_fasta')
202+
result = self.challenge.fasta()
203+
self.assertEqual(result.__name__, 'fasta')
203204
self.assertEqual(len(list(result)), 4)
204205

205206
def test_read_fasta_format(self):
@@ -218,8 +219,8 @@ def test_read_fasta_format(self):
218219
8
219220
'''
220221
self.challenge.read()
221-
result = self.challenge.read_fasta(start=2)
222-
self.assertEqual(result.__name__, 'read_fasta')
222+
result = self.challenge.fasta(start=2)
223+
self.assertEqual(result.__name__, 'fasta')
223224
fasta = dict(result)
224225
self.assertIn('FAS_1', fasta.keys())
225226
self.assertEqual('LLL---MMM*', fasta['FAS_1'])

0 commit comments

Comments
 (0)