'When a client connection fails, the service removes its reference
to the protocol and tries again after a timeout.'

def test_clientConnectionFailed(self):

    clock = Clock()
    (cq, service) = self.makeReconnector(fireImmediately=False, clock=clock)
    self.assertEqual(len(cq.connectQueue), 1)
    cq.connectQueue[0].errback(Failure(Exception()))
    whenConnected = service.whenConnected()
    self.assertNoResult(whenConnected)
    whenConnected.addErrback((lambda ignored: ignored.trap(CancelledError)))
    clock.advance(AT_LEAST_ONE_ATTEMPT)
    self.assertEqual(len(cq.connectQueue), 2)
