annotate tests.py @ 0:79fa4330f2c9 draft default tip

planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
author jpayne
date Mon, 08 Dec 2025 20:18:03 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
1 import pytest
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
2
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
3 from bio2srr import *
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
4
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
5
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
6 def test_element_tree_xpath():
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
7 from xml.etree import ElementTree as xml
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
8 root = xml.fromstring(biosample_example)
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
9 assert root.find(".//Id[@db='BioSample']") is not None
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
10
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
11 def test_flatten_biosample_xml():
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
12 d = flatten_biosample_xml(biosample_example)
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
13 assert d['biosample_accession'] == 'SAMN17131268'
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
14 assert d['organism'] == 'Campylobacter jejuni'
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
15 assert d['isolate'] == 'CFSAN091032'
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
16
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
17 def test_flatten_runs():
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
18 d = list(flatten_runs(runs_example))
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
19 assert len(d) == 2
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
20
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
21 def test_header_sort_override_consistency():
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
22 import random
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
23 L = ["C", "B", "A", "taxid", "bioproject"]
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
24 L.sort(key=hso)
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
25 # assert L[0] == "bioproject"
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
26 A = L.copy()
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
27 assert A == L
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
28 R = []
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
29 for _ in range(100):
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
30 random.shuffle(A)
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
31 A.sort(key=hso)
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
32 R.append(A == L)
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
33 assert all(R)
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
34
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
35 def test_hso_override():
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
36 assert header_sort_override("bioproject", "taxid") < 0
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
37 assert header_sort_override("taxid", "bioproject") > 0
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
38 assert header_sort_override("taxid", "taxid") == 0
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
39
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
40 def test_hso_regular():
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
41 assert header_sort_override("A", "B") < 0
79fa4330f2c9 planemo upload commit 27af5cba48986d508a67a5024a3bd35dd47bee15-dirty
jpayne
parents:
diff changeset
42 assert header_sort_override("B", "A") > 0