'Integers greater than 2 ** 32 and less than -2 ** 32 should
round-trip through banana without changing value and should
come out represented as C{int} instances if the value fits
into that type on the receiving platform.'

def test_largeLong(self):

    for exp in (32, 64, 128, 256):
        for add in (0, 1):
            m = ((2 ** exp) + add)
            for n in (m, ((- m) - 1)):
                self.enc.dataReceived(self.encode(n))
                self.assertEqual(self.result, n)
                if ((n > _maxint) or (n < ((- _maxint) - 1))):
                    self.assertIsInstance(self.result, long)
                else:
                    self.assertIsInstance(self.result, int)
