@@ -43,6 +43,19 @@ class TestContainerNeo(unittest.TestCase):
4343 TestCase to make sure basic initialization and methods work
4444 '''
4545
46+ @classmethod
47+ def setUpClass (cls ):
48+ seg = neo .core .Segment ()
49+ st1 = neo .core .SpikeTrain ([1 , 2 ] * pq .ms , t_stop = 10 )
50+ st1 .annotate (test = 5 )
51+ st2 = neo .core .SpikeTrain ([3 , 4 ] * pq .ms , t_stop = 10 )
52+ st2 .annotate (test = 6 )
53+ seg .spiketrains .append (st1 )
54+ seg .spiketrains .append (st2 )
55+ cls .seg = seg
56+ cls .st1 = st1
57+ cls .st2 = st2
58+
4659 def test_init (self ):
4760 '''test to make sure initialization works properly'''
4861 container = Container (name = 'a container' , description = 'this is a test' )
@@ -101,31 +114,22 @@ def test_filter(self):
101114 self .assertRaises (TypeError , container .filter , "foo" )
102115
103116 def test_filter_results (self ):
104-
105- seg = neo .core .Segment ()
106- st1 = neo .core .SpikeTrain ([1 , 2 ] * pq .ms , t_stop = 10 )
107- st1 .annotate (test = 5 )
108- st2 = neo .core .SpikeTrain ([3 , 4 ] * pq .ms , t_stop = 10 )
109- st2 .annotate (test = 6 )
110- seg .spiketrains .append (st1 )
111- seg .spiketrains .append (st2 )
112-
113- self .assertEqual (st1 .annotations ,
114- seg .filter (test = filters .Equals (5 ))[0 ].annotations )
115- self .assertEqual (st1 .annotations ,
116- seg .filter (test = filters .LessThan (6 ))[0 ].annotations )
117- self .assertEqual (st1 .annotations ,
118- seg .filter (test = filters .GreaterThan (4 ))[0 ].annotations )
119- self .assertEqual (st1 .annotations ,
120- seg .filter (test = filters .IsNot (1 ))[0 ].annotations )
121- self .assertEqual (st1 .annotations ,
122- seg .filter (test = filters .IsIn ([1 , 2 , 5 ]))[0 ].annotations )
123- self .assertEqual (st1 .annotations ,
124- seg .filter (test = filters .InRange (1 , 5 ))[0 ].annotations )
125- self .assertEqual (st1 .annotations ,
126- seg .filter (test = filters .GreaterThanOrEquals (5 ))[0 ].annotations )
127- self .assertEqual (st1 .annotations ,
128- seg .filter (test = filters .LessThanOrEquals (5 ))[0 ].annotations )
117+ self .assertEqual (self .st1 .annotations ,
118+ self .seg .filter (test = filters .Equals (5 ))[0 ].annotations )
119+ self .assertEqual (self .st1 .annotations ,
120+ self .seg .filter (test = filters .LessThan (6 ))[0 ].annotations )
121+ self .assertEqual (self .st1 .annotations ,
122+ self .seg .filter (test = filters .GreaterThan (4 ))[0 ].annotations )
123+ self .assertEqual (self .st1 .annotations ,
124+ self .seg .filter (test = filters .IsNot (1 ))[0 ].annotations )
125+ self .assertEqual (self .st1 .annotations ,
126+ self .seg .filter (test = filters .IsIn ([1 , 2 , 5 ]))[0 ].annotations )
127+ self .assertEqual (self .st1 .annotations ,
128+ self .seg .filter (test = filters .InRange (1 , 5 ))[0 ].annotations )
129+ self .assertEqual (self .st1 .annotations ,
130+ self .seg .filter (test = filters .GreaterThanOrEquals (5 ))[0 ].annotations )
131+ self .assertEqual (self .st1 .annotations ,
132+ self .seg .filter (test = filters .LessThanOrEquals (5 ))[0 ].annotations )
129133
130134 def test_filter_equal (self ):
131135 '''
@@ -151,121 +155,70 @@ def test_filter_is_not(self):
151155 '''
152156 Tests FilterCondition object "IsNot".
153157 '''
154-
155- seg = neo .core .Segment ()
156- st1 = neo .core .SpikeTrain ([1 , 2 ] * pq .ms , t_stop = 10 )
157- st1 .annotate (test = 5 )
158- st2 = neo .core .SpikeTrain ([3 , 4 ] * pq .ms , t_stop = 10 )
159- st2 .annotate (test = 6 )
160- seg .spiketrains .append (st1 )
161- seg .spiketrains .append (st2 )
162-
163- self .assertEqual (2 , len (seg .filter (test = filters .IsNot (1 ))))
164- self .assertEqual (1 , len (seg .filter (test = filters .IsNot (5 ))))
165- self .assertEqual (0 , len (seg .filter ([{"test" : filters .IsNot (5 )},
158+ self .assertEqual (2 , len (self .seg .filter (test = filters .IsNot (1 ))))
159+ self .assertEqual (1 , len (self .seg .filter (test = filters .IsNot (5 ))))
160+ self .assertEqual (0 , len (self .seg .filter ([{"test" : filters .IsNot (5 )},
166161 {"test" : filters .IsNot (6 )}])))
167162
168163 def test_filter_less_than (self ):
169164 '''
170165 Tests FilterCondition object "LessThan".
171166 '''
172-
173- seg = neo .core .Segment ()
174- st1 = neo .core .SpikeTrain ([1 , 2 ] * pq .ms , t_stop = 10 )
175- st1 .annotate (test = 5 )
176- st2 = neo .core .SpikeTrain ([3 , 4 ] * pq .ms , t_stop = 10 )
177- st2 .annotate (test = 6 )
178- seg .spiketrains .append (st1 )
179- seg .spiketrains .append (st2 )
180-
181- self .assertEqual (0 , len (seg .filter (test = filters .LessThan (5 ))))
182- self .assertEqual (1 , len (seg .filter (test = filters .LessThan (6 ))))
183- self .assertEqual (2 , len (seg .filter (test = filters .LessThan (7 ))))
167+ self .assertEqual (0 , len (self .seg .filter (test = filters .LessThan (5 ))))
168+ self .assertEqual (1 , len (self .seg .filter (test = filters .LessThan (6 ))))
169+ self .assertEqual (2 , len (self .seg .filter (test = filters .LessThan (7 ))))
184170
185171 def test_filter_less_than_equal (self ):
186172 '''
187173 Tests FilterCondition object "LessThanEquals".
188174 '''
189-
190- seg = neo .core .Segment ()
191- st1 = neo .core .SpikeTrain ([1 , 2 ] * pq .ms , t_stop = 10 )
192- st1 .annotate (test = 5 )
193- st2 = neo .core .SpikeTrain ([3 , 4 ] * pq .ms , t_stop = 10 )
194- st2 .annotate (test = 6 )
195- seg .spiketrains .append (st1 )
196- seg .spiketrains .append (st2 )
197-
198- self .assertEqual (0 , len (seg .filter (test = filters .LessThanOrEquals (4 ))))
199- self .assertEqual (1 , len (seg .filter (test = filters .LessThanOrEquals (5 ))))
200- self .assertEqual (2 , len (seg .filter (test = filters .LessThanOrEquals (6 ))))
175+ self .assertEqual (0 , len (self .seg .filter (test = filters .LessThanOrEquals (4 ))))
176+ self .assertEqual (1 , len (self .seg .filter (test = filters .LessThanOrEquals (5 ))))
177+ self .assertEqual (2 , len (self .seg .filter (test = filters .LessThanOrEquals (6 ))))
201178
202179 def test_filter_greater_than (self ):
203180 '''
204181 Tests FilterCondition object "GreaterThan".
205182 '''
206-
207- seg = neo .core .Segment ()
208- st1 = neo .core .SpikeTrain ([1 , 2 ] * pq .ms , t_stop = 10 )
209- st1 .annotate (test = 5 )
210- st2 = neo .core .SpikeTrain ([3 , 4 ] * pq .ms , t_stop = 10 )
211- st2 .annotate (test = 6 )
212- seg .spiketrains .append (st1 )
213- seg .spiketrains .append (st2 )
214-
215- self .assertEqual (0 , len (seg .filter (test = filters .GreaterThan (6 ))))
216- self .assertEqual (1 , len (seg .filter (test = filters .GreaterThan (5 ))))
217- self .assertEqual (2 , len (seg .filter (test = filters .GreaterThan (4 ))))
183+ self .assertEqual (0 , len (self .seg .filter (test = filters .GreaterThan (6 ))))
184+ self .assertEqual (1 , len (self .seg .filter (test = filters .GreaterThan (5 ))))
185+ self .assertEqual (2 , len (self .seg .filter (test = filters .GreaterThan (4 ))))
218186
219187 def test_filter_greater_than_equal (self ):
220188 '''
221189 Tests FilterCondition object "GreaterThanEquals".
222190 '''
223-
224- seg = neo .core .Segment ()
225- st1 = neo .core .SpikeTrain ([1 , 2 ] * pq .ms , t_stop = 10 )
226- st1 .annotate (test = 5 )
227- st2 = neo .core .SpikeTrain ([3 , 4 ] * pq .ms , t_stop = 10 )
228- st2 .annotate (test = 6 )
229- seg .spiketrains .append (st1 )
230- seg .spiketrains .append (st2 )
231-
232- self .assertEqual (0 , len (seg .filter (test = filters .GreaterThanOrEquals (7 ))))
233- self .assertEqual (1 , len (seg .filter (test = filters .GreaterThanOrEquals (6 ))))
234- self .assertEqual (2 , len (seg .filter (test = filters .GreaterThanOrEquals (5 ))))
191+ self .assertEqual (0 , len (self .seg .filter (test = filters .GreaterThanOrEquals (7 ))))
192+ self .assertEqual (1 , len (self .seg .filter (test = filters .GreaterThanOrEquals (6 ))))
193+ self .assertEqual (2 , len (self .seg .filter (test = filters .GreaterThanOrEquals (5 ))))
235194
236195 def test_filter_is_in (self ):
237196 '''
238197 Tests FilterCondition object "IsIn".
239198 '''
240-
241- seg = neo . core . Segment ( )
242- st1 = neo . core . SpikeTrain ([ 1 , 2 ] * pq . ms , t_stop = 10 )
243- st1 . annotate ( test = 5 )
244- st2 = neo . core . SpikeTrain ([ 3 , 4 ] * pq . ms , t_stop = 10 )
245- st2 . annotate ( test = 6 )
246- seg .spiketrains . append ( st1 )
247- seg .spiketrains . append ( st2 )
248-
249- self .assertEqual (0 , len (seg .filter (test = filters .IsIn ([ 4 , 7 , 10 ] ))))
250- self .assertEqual (1 , len (seg .filter (test = filters .IsIn ([ 5 , 7 , 10 ] ))))
251- self .assertEqual (2 , len (seg .filter (test = filters .IsIn ([ 5 , 6 , 10 ] ))))
199+ # list
200+ self . assertEqual ( 0 , len ( self . seg . filter ( test = filters . IsIn ([ 4 , 7 , 10 ]))) )
201+ self . assertEqual ( 1 , len ( self . seg . filter ( test = filters . IsIn ([ 5 , 7 , 10 ]))) )
202+ self . assertEqual ( 2 , len ( self . seg . filter ( test = filters . IsIn ([ 5 , 6 , 10 ]))) )
203+ # tuple
204+ self . assertEqual ( 0 , len ( self . seg . filter ( test = filters . IsIn (( 4 , 7 , 10 )))) )
205+ self . assertEqual ( 1 , len ( self . seg .filter ( test = filters . IsIn (( 5 , 7 , 10 )))) )
206+ self . assertEqual ( 2 , len ( self . seg .filter ( test = filters . IsIn (( 5 , 6 , 10 )))) )
207+ # set
208+ self .assertEqual (0 , len (self . seg .filter (test = filters .IsIn ({ 4 , 7 , 10 } ))))
209+ self .assertEqual (1 , len (self . seg .filter (test = filters .IsIn ({ 5 , 7 , 10 } ))))
210+ self .assertEqual (2 , len (self . seg .filter (test = filters .IsIn ({ 5 , 6 , 10 } ))))
252211
253212 def test_filter_in_range (self ):
254213 '''
255214 Tests FilterCondition object "InRange".
256215 '''
257- seg = neo .core .Segment ()
258- st1 = neo .core .SpikeTrain ([1 , 2 ] * pq .ms , t_stop = 10 )
259- st1 .annotate (test = 5 )
260- st2 = neo .core .SpikeTrain ([3 , 4 ] * pq .ms , t_stop = 10 )
261- st2 .annotate (test = 6 )
262- seg .spiketrains .append (st1 )
263- seg .spiketrains .append (st2 )
264-
265- self .assertEqual (2 , len (seg .filter (test = filters .InRange (5 , 6 , False , False ))))
266- self .assertEqual (1 , len (seg .filter (test = filters .InRange (5 , 6 , True , False ))))
267- self .assertEqual (1 , len (seg .filter (test = filters .InRange (5 , 6 , False , True ))))
268- self .assertEqual (0 , len (seg .filter (test = filters .InRange (5 , 6 , True , True ))))
216+ with self .assertRaises (ValueError ):
217+ self .seg .filter (test = filters .InRange ("wrong" , 6 , False , False ))
218+ self .assertEqual (2 , len (self .seg .filter (test = filters .InRange (5 , 6 , False , False ))))
219+ self .assertEqual (1 , len (self .seg .filter (test = filters .InRange (5 , 6 , True , False ))))
220+ self .assertEqual (1 , len (self .seg .filter (test = filters .InRange (5 , 6 , False , True ))))
221+ self .assertEqual (0 , len (self .seg .filter (test = filters .InRange (5 , 6 , True , True ))))
269222
270223 def test_filter_filter_consistency (self ):
271224 '''
0 commit comments