'When a convergence loop results in a ``NoOp`` the sleep is based on
that configured in the returned NoOp.'

def test_longer_sleep_when_converged(self):

    loop = self.convergence_iteration(initial_action=NO_OP, later_actions=[NO_OP, NO_OP])
    loop.receive(_ClientStatusUpdate(client=self.make_amp_client([self.local_state]), configuration=self.configuration, state=self.cluster_state))
    pre_sleep = len(self.deployer.local_states)
    [delayed_call] = self.reactor.getDelayedCalls()
    delay = (delayed_call.getTime() - self.reactor.seconds())
    self.reactor.advance((delay - 0.05))
    mid_sleep = len(self.deployer.local_states)
    self.reactor.advance(0.051)
    post_sleep = len(self.deployer.local_states)
    self.assertEqual(dict(long_enough=(delay > 200), pre=pre_sleep, mid=mid_sleep, post=post_sleep), dict(long_enough=True, pre=1, mid=1, post=0))
