@@ -816,25 +816,30 @@ def test_bad_vals(self):
816816 self .assertRaises (ValueError , ExponentialReconnectionPolicy , 9000 , 1 )
817817 self .assertRaises (ValueError , ExponentialReconnectionPolicy , 1 , 2 ,- 1 )
818818
819- def test_schedule (self ):
820- policy = ExponentialReconnectionPolicy (base_delay = 2 , max_delay = 100 , max_attempts = None )
821- i = 0 ;
822- for delay in policy .new_schedule ():
823- i += 1
824- if i > 10000 :
825- break ;
826- self .assertEqual (i , 10001 )
827-
828- policy = ExponentialReconnectionPolicy (base_delay = 2 , max_delay = 100 , max_attempts = 64 )
819+ def test_schedule_no_max (self ):
820+ base_delay = 2
821+ max_delay = 100
822+ test_iter = 10000
823+ policy = ExponentialReconnectionPolicy (base_delay = base_delay , max_delay = max_delay , max_attempts = None )
824+ sched_slice = list (islice (policy .new_schedule (), 0 , test_iter ))
825+ self .assertEqual (sched_slice [0 ], base_delay )
826+ self .assertEqual (sched_slice [- 1 ], max_delay )
827+ self .assertEqual (len (sched_slice ), test_iter )
828+
829+ def test_schedule_with_max (self ):
830+ base_delay = 2
831+ max_delay = 100
832+ max_attempts = 64
833+ policy = ExponentialReconnectionPolicy (base_delay = base_delay , max_delay = max_delay , max_attempts = max_attempts )
829834 schedule = list (policy .new_schedule ())
830- self .assertEqual (len (schedule ), 64 )
835+ self .assertEqual (len (schedule ), max_attempts )
831836 for i , delay in enumerate (schedule ):
832837 if i == 0 :
833- self .assertEqual (delay , 2 )
838+ self .assertEqual (delay , base_delay )
834839 elif i < 6 :
835840 self .assertEqual (delay , schedule [i - 1 ] * 2 )
836841 else :
837- self .assertEqual (delay , 100 )
842+ self .assertEqual (delay , max_delay )
838843
839844ONE = ConsistencyLevel .ONE
840845
0 commit comments