Completed
Push — master ( 0d56a8...9e1177 )
by Jasper
10s
created

CNTTests.setUp()   A

Complexity

Conditions 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 1
dl 0
loc 6
rs 9.4285
1
import unittest
2
from mock import Mock
3
from datetime import datetime, timedelta
4
from tests.test_basefile import BaseFileTests
5
6
7
class CNTTests(BaseFileTests):
8
9
    def setUp(self):
10
        super(CNTTests, self).setUp()
11
        self.filesys.open.return_value = MockFile()
12
        from niprov.cnt import NeuroscanFile
13
        self.constructor = NeuroscanFile
14
        self.file = NeuroscanFile(self.path, dependencies=self.dependencies)
15
16
    def test_Inspect_parses_experimental_basics(self):
17
        out = self.file.inspect()
18
        self.assertEqual(out['subject'], 'Jane Doe')
19
        self.assertEqual(out['dimensions'], [32, 2080])
20
        self.assertEqual(out['acquired'], datetime(2015,3,9,13,7,3))
21
        self.assertEqual(out['sampling-frequency'], 1000)
22
        self.assertEqual(out['duration'], timedelta(seconds=2080/1000.))
23
24
25
class MockFile(object):
26
27
    def __init__(self):
28
        self.cursor = -1
29
30
    def __enter__(self):
31
        return self
32
33
    def __exit__(self, *args, **kwargs):
34
        pass
35
36
    def read(self, nbytes):
37
        self.cursor = self.cursor + 1
38
        return _data[self.cursor]
39
40
41
_data = [
42
None,   #h.rev               = self._fread(fid,12,'char')
43
None,   #h.nextfile          = self._fread(fid,1,'long')
44
None,   #h.prevfile          = self._fread(fid,1,'ulong')
45
None,   #h.type              = self._fread(fid,1,'char')
46
None,   #h.id                = self._fread(fid,20,'char')
47
None,   #h.oper              = self._fread(fid,20,'char')
48
None,   #h.doctor            = self._fread(fid,20,'char')
49
None,   #h.referral          = self._fread(fid,20,'char')
50
None,   #h.hospital          = self._fread(fid,20,'char')
51
#h.patient = self._fread(fid,20,'char')
52
b'Jane Doe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
53
None,   #h.age               = self._fread(fid,1,'short')
54
None,   #h.sex               = self._fread(fid,1,'char')
55
None,   #h.hand              = self._fread(fid,1,'char')
56
None,   #h.med               = self._fread(fid,20, 'char')
57
None,   #h.category          = self._fread(fid,20, 'char')
58
None,   #h.state             = self._fread(fid,20, 'char')
59
None,   #h.label             = self._fread(fid,20, 'char')
60
b'09/03/15' ,   #h.date              = self._fread(fid,10, 'char')
61
b'13:07:03',   #h.time              = self._fread(fid,12, 'char')
62
None,   #h.mean_age          = self._fread(fid,1,'float')
63
None,   #h.stdev             = self._fread(fid,1,'float')
64
None,   #h.n                 = self._fread(fid,1,'short')
65
None,   #h.compfile          = self._fread(fid,38,'char')
66
None,   #h.spectwincomp      = self._fread(fid,1,'float')
67
None,   #h.meanaccuracy      = self._fread(fid,1,'float')
68
None,   #h.meanlatency       = self._fread(fid,1,'float')
69
None,   #h.sortfile          = self._fread(fid,46,'char')
70
None,   #h.numevents         = self._fread(fid,1,'int')
71
None,   #h.compoper          = self._fread(fid,1,'char')
72
None,   #h.avgmode           = self._fread(fid,1,'char')
73
None,   #h.review            = self._fread(fid,1,'char')
74
None,   #h.nsweeps           = self._fread(fid,1,'ushort')
75
None,   #h.compsweeps        = self._fread(fid,1,'ushort')
76
None,   #h.acceptcnt         = self._fread(fid,1,'ushort')
77
None,   #h.rejectcnt         = self._fread(fid,1,'ushort')
78
None,   #h.pnts              = self._fread(fid,1,'ushort')
79
b' \x00',   #h.nchannels         = self._fread(fid,1,'ushort')
80
None,   #h.avgupdate         = self._fread(fid,1,'ushort')
81
None,   #h.domain            = self._fread(fid,1,'char')
82
None,   #h.variance          = self._fread(fid,1,'char')
83
b'\xe8\x03',   #h.rate              = self._fread(fid,1,'ushort')
84
None,   #h.scale             = self._fread(fid,1,'double')
85
None,   #h.veogcorrect       = self._fread(fid,1,'char')
86
None,   #h.heogcorrect       = self._fread(fid,1,'char')
87
None,   #h.aux1correct       = self._fread(fid,1,'char')
88
None,   #h.aux2correct       = self._fread(fid,1,'char')
89
None,   #h.veogtrig          = self._fread(fid,1,'float')
90
None,   #h.heogtrig          = self._fread(fid,1,'float')
91
None,   #h.aux1trig          = self._fread(fid,1,'float')
92
None,   #h.aux2trig          = self._fread(fid,1,'float')
93
None,   #h.heogchnl          = self._fread(fid,1,'short')
94
None,   #h.veogchnl          = self._fread(fid,1,'short')
95
None,   #h.aux1chnl          = self._fread(fid,1,'short')
96
None,   #h.aux2chnl          = self._fread(fid,1,'short')
97
None,   #h.veogdir           = self._fread(fid,1,'char')
98
None,   #h.heogdir           = self._fread(fid,1,'char')
99
None,   #h.aux1dir           = self._fread(fid,1,'char')
100
None,   #h.aux2dir           = self._fread(fid,1,'char')
101
None,   #h.veog_n            = self._fread(fid,1,'short')
102
None,   #h.heog_n            = self._fread(fid,1,'short')
103
None,   #h.aux1_n            = self._fread(fid,1,'short')
104
None,   #h.aux2_n            = self._fread(fid,1,'short')
105
None,   #h.veogmaxcnt        = self._fread(fid,1,'short')
106
None,   #h.heogmaxcnt        = self._fread(fid,1,'short')
107
None,   #h.aux1maxcnt        = self._fread(fid,1,'short')
108
None,   #h.aux2maxcnt        = self._fread(fid,1,'short')
109
None,   #h.veogmethod        = self._fread(fid,1,'char')
110
None,   #h.heogmethod        = self._fread(fid,1,'char')
111
None,   #h.aux1method        = self._fread(fid,1,'char')
112
None,   #h.aux2method        = self._fread(fid,1,'char')
113
None,   #h.ampsensitivity    = self._fread(fid,1,'float')
114
None,   #h.lowpass           = self._fread(fid,1,'char')
115
None,   #h.highpass          = self._fread(fid,1,'char')
116
None,   #h.notch             = self._fread(fid,1,'char')
117
None,   #h.autoclipadd       = self._fread(fid,1,'char')
118
None,   #h.baseline          = self._fread(fid,1,'char')
119
None,   #h.offstart          = self._fread(fid,1,'float')
120
None,   #h.offstop           = self._fread(fid,1,'float')
121
None,   #h.reject            = self._fread(fid,1,'char')
122
None,   #h.rejstart          = self._fread(fid,1,'float')
123
None,   #h.rejstop           = self._fread(fid,1,'float')
124
None,   #h.rejmin            = self._fread(fid,1,'float')
125
None,   #h.rejmax            = self._fread(fid,1,'float')
126
None,   #h.trigtype          = self._fread(fid,1,'char')
127
None,   #h.trigval           = self._fread(fid,1,'float')
128
None,   #h.trigchnl          = self._fread(fid,1,'char')
129
None,   #h.trigmask          = self._fread(fid,1,'short')
130
None,   #h.trigisi           = self._fread(fid,1,'float')
131
None,   #h.trigmin           = self._fread(fid,1,'float')
132
None,   #h.trigmax           = self._fread(fid,1,'float')
133
None,   #h.trigdir           = self._fread(fid,1,'char')
134
None,   #h.autoscale         = self._fread(fid,1,'char')
135
None,   #h.n2                = self._fread(fid,1,'short')
136
None,   #h.dir               = self._fread(fid,1,'char')
137
None,   #h.dispmin           = self._fread(fid,1,'float')
138
None,   #h.dispmax           = self._fread(fid,1,'float')
139
None,   #h.xmin              = self._fread(fid,1,'float')
140
None,   #h.xmax              = self._fread(fid,1,'float')
141
None,   #h.automin           = self._fread(fid,1,'float')
142
None,   #h.automax           = self._fread(fid,1,'float')
143
None,   #h.zmin              = self._fread(fid,1,'float')
144
None,   #h.zmax              = self._fread(fid,1,'float')
145
None,   #h.lowcut            = self._fread(fid,1,'float')
146
None,   #h.highcut           = self._fread(fid,1,'float')
147
None,   #h.common            = self._fread(fid,1,'char')
148
None,   #h.savemode          = self._fread(fid,1,'char')
149
None,   #h.manmode           = self._fread(fid,1,'char')
150
None,   #h.ref               = self._fread(fid,10,'char')
151
None,   #h.rectify           = self._fread(fid,1,'char')
152
None,   #h.displayxmin       = self._fread(fid,1,'float')
153
None,   #h.displayxmax       = self._fread(fid,1,'float')
154
None,   #h.phase             = self._fread(fid,1,'char')
155
None,   #h.screen            = self._fread(fid,16,'char')
156
None,   #h.calmode           = self._fread(fid,1,'short')
157
None,   #h.calmethod         = self._fread(fid,1,'short')
158
None,   #h.calupdate         = self._fread(fid,1,'short')
159
None,   #h.calbaseline       = self._fread(fid,1,'short')
160
None,   #h.calsweeps         = self._fread(fid,1,'short')
161
None,   #h.calattenuator     = self._fread(fid,1,'float')
162
None,   #h.calpulsevolt      = self._fread(fid,1,'float')
163
None,   #h.calpulsestart     = self._fread(fid,1,'float')
164
None,   #h.calpulsestop      = self._fread(fid,1,'float')
165
None,   #h.calfreq           = self._fread(fid,1,'float')
166
None,   #h.taskfile          = self._fread(fid,34,'char')
167
None,   #h.seqfile           = self._fread(fid,34,'char')
168
None,   #h.spectmethod       = self._fread(fid,1,'char')
169
None,   #h.spectscaling      = self._fread(fid,1,'char')
170
None,   #h.spectwindow       = self._fread(fid,1,'char')
171
None,   #h.spectwinlength    = self._fread(fid,1,'float')
172
None,   #h.spectorder        = self._fread(fid,1,'char')
173
None,   #h.notchfilter       = self._fread(fid,1,'char')
174
None,   #h.headgain          = self._fread(fid,1,'short')
175
None,   #h.additionalfiles   = self._fread(fid,1,'int')
176
None,   #h.unused            = self._fread(fid,5,'char')
177
None,   #h.fspstopmethod     = self._fread(fid,1,'short')
178
None,   #h.fspstopmode       = self._fread(fid,1,'short')
179
None,   #h.fspfvalue         = self._fread(fid,1,'float')
180
None,   #h.fsppoint          = self._fread(fid,1,'short')
181
None,   #h.fspblocksize      = self._fread(fid,1,'short')
182
None,   #h.fspp1             = self._fread(fid,1,'ushort')
183
None,   #h.fspp2             = self._fread(fid,1,'ushort')
184
None,   #h.fspalpha          = self._fread(fid,1,'float')
185
None,   #h.fspnoise          = self._fread(fid,1,'float')
186
None,   #h.fspv1             = self._fread(fid,1,'short')
187
None,   #h.montage           = self._fread(fid,40,'char')
188
None,   #h.eventfile         = self._fread(fid,40,'char')
189
None,   #h.fratio            = self._fread(fid,1,'float')
190
None,   #h.minor_rev         = self._fread(fid,1,'char')
191
None,   #h.eegupdate         = self._fread(fid,1,'short')
192
None,   #h.compressed        = self._fread(fid,1,'char')
193
None,   #h.xscale            = self._fread(fid,1,'float')
194
None,   #h.yscale            = self._fread(fid,1,'float')
195
None,   #h.xsize             = self._fread(fid,1,'float')
196
None,   #h.ysize             = self._fread(fid,1,'float')
197
None,   #h.acmode            = self._fread(fid,1,'char')
198
None,   #h.commonchnl        = self._fread(fid,1,'uchar')
199
None,   #h.xtics             = self._fread(fid,1,'char')
200
None,   #h.xrange            = self._fread(fid,1,'char')
201
None,   #h.ytics             = self._fread(fid,1,'char')
202
None,   #h.yrange            = self._fread(fid,1,'char')
203
None,   #h.xscalevalue       = self._fread(fid,1,'float')
204
None,   #h.xscaleinterval    = self._fread(fid,1,'float')
205
None,   #h.yscalevalue       = self._fread(fid,1,'float')
206
None,   #h.yscaleinterval    = self._fread(fid,1,'float')
207
None,   #h.scaletoolx1       = self._fread(fid,1,'float')
208
None,   #h.scaletooly1       = self._fread(fid,1,'float')
209
None,   #h.scaletoolx2       = self._fread(fid,1,'float')
210
None,   #h.scaletooly2       = self._fread(fid,1,'float')
211
None,   #h.port              = self._fread(fid,1,'short')
212
b' \x08\x00\x00',   #h.numsamples        = self._fread(fid,1,'ulong')
213
None,   #h.filterflag        = self._fread(fid,1,'char')
214
None,   #h.lowcutoff         = self._fread(fid,1,'float')
215
None,   #h.lowpoles          = self._fread(fid,1,'short')
216
None,   #h.highcutoff        = self._fread(fid,1,'float')
217
None,   #h.highpoles         = self._fread(fid,1,'short')
218
None,   #h.filtertype        = self._fread(fid,1,'char')
219
None,   #h.filterdomain      = self._fread(fid,1,'char')
220
None,   #h.snrflag           = self._fread(fid,1,'char')
221
None,   #h.coherenceflag     = self._fread(fid,1,'char')
222
None,   #h.continuoustype    = self._fread(fid,1,'char')
223
None,   #h.eventtablepos     = self._fread(fid,1,'ulong')
224
None,   #h.continuousseconds = self._fread(fid,1,'float')
225
None,   #h.channeloffset     = self._fread(fid,1,'long')
226
None,   #h.autocorrectflag   = self._fread(fid,1,'char')
227
None,   #h.dcthreshold       = self._fread(fid,1,'uchar')
228
]
229