@@ -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