Skip to content

Commit ca82dcd

Browse files
author
Moritz-Alexander-Kern
committed
refactor unit tests
1 parent d50cb3b commit ca82dcd

File tree

1 file changed

+62
-109
lines changed

1 file changed

+62
-109
lines changed

neo/test/coretest/test_container.py

Lines changed: 62 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)