@@ -246,12 +246,44 @@ def test_with_delay(self):
246
246
deadline = 4 ,
247
247
on_error = mock .sentinel .on_error ,
248
248
)
249
- new_retry = retry_ .with_delay (initial = 1 , maximum = 2 , multiplier = 3 )
249
+ new_retry = retry_ .with_delay (initial = 5 , maximum = 6 , multiplier = 7 )
250
250
assert retry_ is not new_retry
251
- assert new_retry ._initial == 1
251
+ assert new_retry ._initial == 5
252
+ assert new_retry ._maximum == 6
253
+ assert new_retry ._multiplier == 7
254
+
255
+ # the rest of the attributes should remain the same
256
+ assert new_retry ._deadline == retry_ ._deadline
257
+ assert new_retry ._predicate is retry_ ._predicate
258
+ assert new_retry ._on_error is retry_ ._on_error
259
+
260
+ def test_with_delay_partial_options (self ):
261
+ retry_ = retry .Retry (
262
+ predicate = mock .sentinel .predicate ,
263
+ initial = 1 ,
264
+ maximum = 2 ,
265
+ multiplier = 3 ,
266
+ deadline = 4 ,
267
+ on_error = mock .sentinel .on_error ,
268
+ )
269
+ new_retry = retry_ .with_delay (initial = 4 )
270
+ assert retry_ is not new_retry
271
+ assert new_retry ._initial == 4
252
272
assert new_retry ._maximum == 2
253
273
assert new_retry ._multiplier == 3
254
274
275
+ new_retry = retry_ .with_delay (maximum = 4 )
276
+ assert retry_ is not new_retry
277
+ assert new_retry ._initial == 1
278
+ assert new_retry ._maximum == 4
279
+ assert new_retry ._multiplier == 3
280
+
281
+ new_retry = retry_ .with_delay (multiplier = 4 )
282
+ assert retry_ is not new_retry
283
+ assert new_retry ._initial == 1
284
+ assert new_retry ._maximum == 2
285
+ assert new_retry ._multiplier == 4
286
+
255
287
# the rest of the attributes should remain the same
256
288
assert new_retry ._deadline == retry_ ._deadline
257
289
assert new_retry ._predicate is retry_ ._predicate
0 commit comments