Skip to content

Commit 40a0804

Browse files
committed
fixing and splitting test_input_version
1 parent 955b3ad commit 40a0804

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

nipype/interfaces/base/tests/test_core.py

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -177,74 +177,76 @@ def __init__(self, **inputs):
177177
assert 'ec5755e07287e04a4b409e03b77a517c' == hashvalue
178178

179179

180-
def test_input_version():
181-
class InputSpec(nib.TraitedSpec):
182-
foo = nib.traits.Int(desc='a random int', min_ver='0.9')
180+
class MinVerInputSpec(nib.TraitedSpec):
181+
foo = nib.traits.Int(desc='a random int', min_ver='0.9')
182+
183+
class MaxVerInputSpec(nib.TraitedSpec):
184+
foo = nib.traits.Int(desc='a random int', max_ver='0.7')
183185

186+
187+
def test_input_version_1():
184188
class DerivedInterface1(nib.BaseInterface):
185-
input_spec = InputSpec
189+
input_spec = MinVerInputSpec
186190

187191
obj = DerivedInterface1()
188192
obj._check_version_requirements(obj.inputs)
189193

190194
config.set('execution', 'stop_on_unknown_version', True)
191195

192-
with pytest.raises(Exception):
196+
with pytest.raises(ValueError) as excinfo:
193197
obj._check_version_requirements(obj.inputs)
198+
assert "no version information" in str(excinfo.value)
194199

195200
config.set_default_config()
196201

197-
class InputSpec(nib.TraitedSpec):
198-
foo = nib.traits.Int(desc='a random int', min_ver='0.9')
199202

203+
def test_input_version_2():
200204
class DerivedInterface1(nib.BaseInterface):
201-
input_spec = InputSpec
205+
input_spec = MinVerInputSpec
202206
_version = '0.8'
203207

204208
obj = DerivedInterface1()
205209
obj.inputs.foo = 1
206-
with pytest.raises(Exception):
207-
obj._check_version_requirements()
210+
with pytest.raises(Exception) as excinfo:
211+
obj._check_version_requirements(obj.inputs)
212+
assert "version 0.8 < required 0.9" in str(excinfo.value)
208213

209-
class InputSpec(nib.TraitedSpec):
210-
foo = nib.traits.Int(desc='a random int', min_ver='0.9')
211214

215+
def test_input_version_3():
212216
class DerivedInterface1(nib.BaseInterface):
213-
input_spec = InputSpec
217+
input_spec = MinVerInputSpec
214218
_version = '0.10'
215219

216220
obj = DerivedInterface1()
217221
obj._check_version_requirements(obj.inputs)
218222

219-
class InputSpec(nib.TraitedSpec):
220-
foo = nib.traits.Int(desc='a random int', min_ver='0.9')
221223

224+
def test_input_version_4():
222225
class DerivedInterface1(nib.BaseInterface):
223-
input_spec = InputSpec
226+
input_spec = MinVerInputSpec
224227
_version = '0.9'
225228

226229
obj = DerivedInterface1()
227230
obj.inputs.foo = 1
228231
obj._check_version_requirements(obj.inputs)
229232

230-
class InputSpec(nib.TraitedSpec):
231-
foo = nib.traits.Int(desc='a random int', max_ver='0.7')
232233

234+
def test_input_version_5():
233235
class DerivedInterface2(nib.BaseInterface):
234-
input_spec = InputSpec
236+
input_spec = MaxVerInputSpec
235237
_version = '0.8'
236238

237239
obj = DerivedInterface2()
238240
obj.inputs.foo = 1
239-
with pytest.raises(Exception):
241+
with pytest.raises(Exception) as excinfo:
240242
obj._check_version_requirements(obj.inputs)
243+
assert "version 0.8 > required 0.7" in str(excinfo.value)
241244

242-
class InputSpec(nib.TraitedSpec):
243-
foo = nib.traits.Int(desc='a random int', max_ver='0.9')
244245

246+
def test_input_version_6():
245247
class DerivedInterface1(nib.BaseInterface):
246-
input_spec = InputSpec
247-
_version = '0.9'
248+
input_spec = MaxVerInputSpec
249+
_version = '0.7'
248250

249251
obj = DerivedInterface1()
250252
obj.inputs.foo = 1

0 commit comments

Comments
 (0)