'If the cursor creation raises an error in L{Transaction.reopen}, it
reconnects but log the error occurred.'

def test_reopenLogErrorIfReconnect(self):

    class ConnectionCursorRaise(object, ):
        count = 0
        def reconnect(self):
            pass
        def cursor(self):
            if (self.count == 0):
                self.count += 1
                raise RuntimeError('problem!')
    pool = FakePool(None)
    transaction = Transaction(pool, ConnectionCursorRaise())
    transaction.reopen()
    errors = self.flushLoggedErrors(RuntimeError)
    self.assertEqual(len(errors), 1)
    self.assertEqual(errors[0].value.args[0], 'problem!')
