-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathtests.py
More file actions
93 lines (76 loc) · 3.3 KB
/
Copy pathtests.py
File metadata and controls
93 lines (76 loc) · 3.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
from unittest import TestCase, main
from io import StringIO
from genomediff import Metadata, GenomeDiff
from genomediff.parser import GenomeDiffParser
from genomediff.records import Record
class ParserTestCase(TestCase):
def test_parse(self):
file = StringIO("""
#=GENOME_DIFF 1.0
#=AUTHOR test
SNP 1 23423 NC_000913 223 A gene_name=mhpE
RA 2 NC_000913 223 0 G A frequency=0.1366
""".strip())
p = GenomeDiffParser(fsock=file)
self.assertEqual([
Metadata('GENOME_DIFF', '1.0'),
Metadata('AUTHOR', 'test'),
Record('SNP', 1, parent_ids=[23423], new_seq='A', seq_id='NC_000913', position=223, gene_name='mhpE'),
Record('RA', 2, new_base='A', frequency=0.1366, position=223, seq_id='NC_000913',
insert_position=0,
ref_base='G')],
list(p)
)
def test_parse_dot_missing_parent_ids(self):
file = StringIO("""
#=GENOME_DIFF 1.0
#=AUTHOR test
SNP 1 23423 NC_000913 223 A gene_name=mhpE
RA 2 . NC_000913 223 0 G A frequency=0.1366
""".strip())
p = GenomeDiffParser(fsock=file)
self.assertEqual([
Metadata('GENOME_DIFF', '1.0'),
Metadata('AUTHOR', 'test'),
Record('SNP', 1, parent_ids=[23423], new_seq='A', seq_id='NC_000913', position=223, gene_name='mhpE'),
Record('RA', 2, new_base='A', frequency=0.1366, position=223, seq_id='NC_000913',
insert_position=0,
ref_base='G')],
list(p)
)
class GenomeDiffTestCase(TestCase):
def test_document(self):
file = StringIO("""
#=GENOME_DIFF 1.0
#=AUTHOR test
SNP 1 23423 NC_000913 223 A
RA 2 NC_000913 223 0 G A
""".strip())
document = GenomeDiff.read(file)
self.assertEqual({'AUTHOR': 'test', 'GENOME_DIFF': '1.0'}, document.metadata)
snp_record = Record('SNP', 1, document, [23423], seq_id='NC_000913', new_seq='A', position=223)
ra_record = Record('RA', 2, document, None, position=223, seq_id='NC_000913', insert_position=0, new_base='A',
ref_base='G')
self.assertEqual([snp_record], document.mutations)
self.assertEqual([ra_record], document.evidence)
self.assertEqual(snp_record, document[1])
self.assertEqual(ra_record, document[2])
class RecordTestCase(TestCase):
def test_simple(self):
snp_record = Record('SNP', 1, parent_ids=[23423], seq_id='NC_000913', new_seq='A', position=223, test='more')
self.assertEqual('SNP', snp_record.type)
self.assertEqual(1, snp_record.id)
self.assertEqual('A', snp_record.new_seq)
self.assertEqual('more', snp_record.test)
class ParentResolveTestCase(TestCase):
def test_resolve(self):
file = StringIO("""
#=GENOME_DIFF 1.0
#=AUTHOR test
SNP 1 2 NC_000913 223 A
RA 2 NC_000913 223 0 G A
""".strip())
document = GenomeDiff.read(file)
self.assertEqual(document[1].parents, [document[2]])
if __name__ == '__main__':
main()