Skip to content

Commit df84f4c

Browse files
committed
[test/scripts] Add odmlconvert basic conv test
1 parent 2b1bbc4 commit df84f4c

3 files changed

Lines changed: 267 additions & 0 deletions

File tree

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<?xml-stylesheet type="text/xsl" href="odmlTerms.xsl"?>
3+
<?xml-stylesheet type="text/xsl" href="odml.xsl"?>
4+
<odML version="1">
5+
<section>
6+
<property>
7+
<value>0.0<unit>um</unit></value>
8+
<name>Depth</name>
9+
</property>
10+
<property>
11+
<value>P-unit</value>
12+
<name>CellType</name>
13+
</property>
14+
<property>
15+
<value>Nerve</value>
16+
<name>Structure</name>
17+
</property>
18+
<property>
19+
<value>0.1</value>
20+
<name>CV</name>
21+
</property>
22+
<property>
23+
<value>12.8<unit>Hz</unit></value>
24+
<name>Baseline rate</name>
25+
</property>
26+
<name>Cell</name>
27+
<type>Cell</type>
28+
</section>
29+
<section>
30+
<property>
31+
<value>weak response</value>
32+
<name>Comment</name>
33+
</property>
34+
<property>
35+
<value>2020-06-24-ab</value>
36+
<name>Name</name>
37+
</property>
38+
<property>
39+
<value>Good</value>
40+
<name>Recording quality</name>
41+
</property>
42+
<property>
43+
<value>12.8.7 (20/06/24)</value>
44+
<name>Software version</name>
45+
</property>
46+
<property>
47+
<value>Ex Perimenter</value>
48+
<name>Experimenter</name>
49+
</property>
50+
<property>
51+
<value>Acquisition</value>
52+
<name>Mode</name>
53+
</property>
54+
<property>
55+
<value>conversion_example.xml</value>
56+
<name>File</name>
57+
</property>
58+
<property>
59+
<value>16:35:51</value>
60+
<name>Time</name>
61+
</property>
62+
<property>
63+
<value>2020-06-24</value>
64+
<name>Date</name>
65+
</property>
66+
<property>
67+
<value>100<unit>m</unit></value>
68+
<name>Recording duration</name>
69+
</property>
70+
<property>
71+
<value>./odml_convert</value>
72+
<name>Folder</name>
73+
</property>
74+
<property>
75+
<value>SomeEphysSoftware</value>
76+
<name>Software</name>
77+
</property>
78+
<name>Recording</name>
79+
<type>Recording</type>
80+
</section>
81+
<section>
82+
<property>
83+
<value>12.0<unit>Hz</unit></value>
84+
<name>Firing Rate1</name>
85+
</property>
86+
<property>
87+
<value>12.0<unit>Hz</unit></value>
88+
<name>EOD Frequency</name>
89+
</property>
90+
<property>
91+
<value>0.1</value>
92+
<name>P-Value1</name>
93+
</property>
94+
<name>Cell properties</name>
95+
<type>Cell properties</type>
96+
</section>
97+
<section>
98+
<property>
99+
<value>unknown</value>
100+
<name>Gender</name>
101+
</property>
102+
<property>
103+
<value>Xen Omorph</value>
104+
<name>Species</name>
105+
</property>
106+
<property>
107+
<value>10.0<unit>cm</unit></value>
108+
<name>Size</name>
109+
</property>
110+
<property>
111+
<value>1.0<unit>mV</unit></value>
112+
<name>Transdermal amplitude</name>
113+
</property>
114+
<property>
115+
<value>1.4<unit>Hz</unit></value>
116+
<name>EOD Frequency</name>
117+
</property>
118+
<name>Subject</name>
119+
<type>Subject</type>
120+
</section>
121+
<author>tester</author>
122+
</odML>
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<?xml-stylesheet type="text/xsl" href="odmlTerms.xsl"?>
3+
<?xml-stylesheet type="text/xsl" href="odml.xsl"?>
4+
<odML version="1">
5+
<section>
6+
<property>
7+
<value>0.0<unit>um</unit></value>
8+
<name>Depth</name>
9+
</property>
10+
<property>
11+
<value>P-unit</value>
12+
<name>CellType</name>
13+
</property>
14+
<property>
15+
<value>Nerve</value>
16+
<name>Structure</name>
17+
</property>
18+
<property>
19+
<value>0.1</value>
20+
<name>CV</name>
21+
</property>
22+
<property>
23+
<value>12.8<unit>Hz</unit></value>
24+
<name>Baseline rate</name>
25+
</property>
26+
<name>Cell</name>
27+
<type>Cell</type>
28+
</section>
29+
<section>
30+
<property>
31+
<value>weak response</value>
32+
<name>Comment</name>
33+
</property>
34+
<property>
35+
<value>2020-06-24-ab</value>
36+
<name>Name</name>
37+
</property>
38+
<property>
39+
<value>Good</value>
40+
<name>Recording quality</name>
41+
</property>
42+
<property>
43+
<value>12.8.7 (20/06/24)</value>
44+
<name>Software version</name>
45+
</property>
46+
<property>
47+
<value>Ex Perimenter</value>
48+
<name>Experimenter</name>
49+
</property>
50+
<property>
51+
<value>Acquisition</value>
52+
<name>Mode</name>
53+
</property>
54+
<property>
55+
<value>conversion_example.xml</value>
56+
<name>File</name>
57+
</property>
58+
<property>
59+
<value>16:35:51</value>
60+
<name>Time</name>
61+
</property>
62+
<property>
63+
<value>2020-06-24</value>
64+
<name>Date</name>
65+
</property>
66+
<property>
67+
<value>100<unit>m</unit></value>
68+
<name>Recording duration</name>
69+
</property>
70+
<property>
71+
<value>./odml_convert</value>
72+
<name>Folder</name>
73+
</property>
74+
<property>
75+
<value>SomeEphysSoftware</value>
76+
<name>Software</name>
77+
</property>
78+
<name>Recording</name>
79+
<type>Recording</type>
80+
</section>
81+
<section>
82+
<property>
83+
<value>12.0<unit>Hz</unit></value>
84+
<name>Firing Rate1</name>
85+
</property>
86+
<property>
87+
<value>12.0<unit>Hz</unit></value>
88+
<name>EOD Frequency</name>
89+
</property>
90+
<property>
91+
<value>0.1</value>
92+
<name>P-Value1</name>
93+
</property>
94+
<name>Cell properties</name>
95+
<type>Cell properties</type>
96+
</section>
97+
<section>
98+
<property>
99+
<value>unknown</value>
100+
<name>Gender</name>
101+
</property>
102+
<property>
103+
<value>Xen Omorph</value>
104+
<name>Species</name>
105+
</property>
106+
<property>
107+
<value>10.0<unit>cm</unit></value>
108+
<name>Size</name>
109+
</property>
110+
<property>
111+
<value>1.0<unit>mV</unit></value>
112+
<name>Transdermal amplitude</name>
113+
</property>
114+
<property>
115+
<value>1.4<unit>Hz</unit></value>
116+
<name>EOD Frequency</name>
117+
</property>
118+
<name>Subject</name>
119+
<type>Subject</type>
120+
</section>
121+
<author>tester</author>
122+
</odML>

test/test_script_odml_convert.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from docopt import DocoptExit
66

7+
from odml import load as odml_load
78
from odml.scripts import odml_convert
89
from . import util
910

@@ -12,6 +13,7 @@ class TestScriptOdmlConvert(unittest.TestCase):
1213

1314
def setUp(self):
1415
self.tmp_dir = util.create_test_dir(__file__)
16+
self.dir_files = os.path.join(util.TEST_RESOURCES_DIR, "scripts", "odml_convert")
1517

1618
def tearDown(self):
1719
if self.tmp_dir and os.path.exists(self.tmp_dir):
@@ -26,3 +28,24 @@ def test_script_exit(self):
2628

2729
with self.assertRaises(SystemExit):
2830
odml_convert.main(["-h"])
31+
32+
def test_valid_conversion(self):
33+
# make sure temp dir is empty
34+
self.assertListEqual(os.listdir(self.tmp_dir), [])
35+
36+
# run converter on root directory containing two files
37+
odml_convert.main(["-o", self.tmp_dir, self.dir_files])
38+
39+
# make sure an output directory has been created
40+
out_dir_lst = os.listdir(self.tmp_dir)
41+
self.assertEqual(len(out_dir_lst), 1)
42+
out_dir = os.path.join(self.tmp_dir, out_dir_lst[0])
43+
self.assertTrue(os.path.isdir(out_dir))
44+
45+
# make sure two files have been created
46+
file_lst = os.listdir(out_dir)
47+
self.assertEqual(len(file_lst), 2)
48+
49+
# make sure the files are valid odml files
50+
_ = odml_load(os.path.join(out_dir, file_lst[0]))
51+
_ = odml_load(os.path.join(out_dir, file_lst[1]))

0 commit comments

Comments
 (0)