def test_big_integer_frombytes(self): b1 = BigInteger(8972340892734890723) ba = b1.ToByteArray() b2 = BigInteger.FromBytes(ba) self.assertEqual(b1, b2) self.assertTrue(b1.Equals(b2))
def test_big_integer_to_ba(self): b1 = BigInteger(8972340892734890723) ba = b1.ToByteArray() integer = BigInteger.from_bytes(ba, 'little') self.assertEqual(integer, 8972340892734890723) b2 = BigInteger(-100) b2ba = b2.ToByteArray() integer2 = BigInteger.from_bytes(b2ba, 'little', signed=True) self.assertEqual(integer2, -100) b3 = BigInteger(128) b3ba = b3.ToByteArray() self.assertEqual(b3ba, b'\x80\x00') b4 = BigInteger(0) b4ba = b4.ToByteArray() self.assertEqual(b4ba, b'\x00') b5 = BigInteger(-146) b5ba = b5.ToByteArray() self.assertEqual(b'\x6e\xff', b5ba) b6 = BigInteger(-48335248028225339427907476932896373492484053930) b6ba = b6.ToByteArray() self.assertEqual(20, len(b6ba)) b7 = BigInteger(-399990000) b7ba = b7.ToByteArray() self.assertEqual(b'\x10\xa3\x28\xe8', b7ba)
def GetHashCodeBytes(self): """ Get the hash code in bytes. Returns: bytes: """ bigint = BigInteger(self.GetHashCode()) return bigint.ToByteArray()
def test_big_integer_to_ba(self): b1 = BigInteger(8972340892734890723) ba = b1.ToByteArray() integer = BigInteger.from_bytes(ba, 'little') self.assertEqual(integer, 8972340892734890723) b2 = BigInteger(-100) b2ba = b2.ToByteArray() integer2 = BigInteger.from_bytes(b2ba, 'little') self.assertEqual(integer2, 65436) b3 = BigInteger(128) b3ba = b3.ToByteArray() self.assertEqual(b3ba, b'\x80\x00') b4 = BigInteger(0) b4ba = b4.ToByteArray() self.assertEqual(b4ba, b'\x00')
def test_big_integer_sign(self): b1 = BigInteger(3) b2 = BigInteger(0) b3 = BigInteger(-4) self.assertEqual(b1.Sign, 1) self.assertEqual(b2.Sign, 0) self.assertEqual(b3.Sign, -1) c1 = BigInteger(-100) c1_bytes = c1.ToByteArray() c2 = BigInteger.FromBytes(c1_bytes, signed=True) self.assertEqual(c2.Sign, -1) c2_unsigned = BigInteger.FromBytes(c1_bytes, signed=False) self.assertEqual(c2_unsigned.Sign, 1)