@@ -91,7 +91,7 @@ def test_hyd_step(handle):
9191
9292 step = en .hydr_next (handle )
9393
94- if time == 0. :
94+ if not step > 0. :
9595 break
9696
9797 en .hydr_close (handle )
@@ -109,15 +109,15 @@ def test_qual_step(handle):
109109
110110 step = en .qual_next (handle )
111111
112- if time == 0. :
112+ if not step > 0. :
113113 break
114114
115115 en .qual_close (handle )
116116
117117
118118def test_report (handle ):
119119
120- nlinks = en .rprt_getcount (handle , en .CountType .LINKS )
120+ nlinks = en .proj_getcount (handle , en .CountType .LINKS )
121121 assert nlinks == 13
122122
123123 en .hydr_solve (handle )
@@ -251,3 +251,55 @@ def test_simplecontrol(handle):
251251 value .clear ()
252252 value = en .scntl_get (handle , 2 )
253253 assert value == [1 , 13 , 0.0 , 11 , 140.0 ]
254+
255+
256+ WARNING_TEST_INP = os .path .join (DATA_PATH , 'test_warnings.inp' )
257+ WARNING_TEST_RPT = os .path .join (DATA_PATH , 'test_warnings.rpt' )
258+ WARNING_TEST_OUT = os .path .join (DATA_PATH , 'test_warnings.out' )
259+
260+ @pytest .fixture ()
261+ def handle_warn (request ):
262+ _handle = en .proj_create ()
263+ en .proj_open (_handle , WARNING_TEST_INP , WARNING_TEST_RPT , WARNING_TEST_OUT )
264+
265+ def close ():
266+ en .proj_close (_handle )
267+ en .proj_delete (_handle )
268+
269+ request .addfinalizer (close )
270+ return _handle
271+
272+
273+ import warnings
274+ warnings .simplefilter ("default" )
275+
276+ def test_hyd_warning (handle_warn ):
277+ with pytest .warns (Warning ):
278+ en .hydr_open (handle_warn )
279+ en .hydr_init (handle_warn , en .SaveOption .NOSAVE )
280+
281+ while True :
282+ time = en .hydr_run (handle_warn )
283+
284+ step = en .hydr_next (handle_warn )
285+
286+ if not step > 0. :
287+ break
288+
289+ en .hydr_close (handle_warn )
290+
291+
292+ def test_exception (handle_warn ):
293+ with pytest .raises (Exception ):
294+ #en.hydr_open(handle_warn)
295+ en .hydr_init (handle_warn , en .SaveOption .NOSAVE )
296+
297+ while True :
298+ time = en .hydr_run (handle_warn )
299+
300+ step = en .hydr_next (handle_warn )
301+
302+ if not step > 0. :
303+ break
304+
305+ en .hydr_close (handle_warn )
0 commit comments