X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/8ebc32d8616aeac9892d20cebfbdc1b531b29d2c..71574cbaff3942fd35ceb2754cbfc36449856644:/t/t-mp.py diff --git a/t/t-mp.py b/t/t-mp.py index ff373ca..a1dd657 100644 --- a/t/t-mp.py +++ b/t/t-mp.py @@ -69,9 +69,14 @@ class TestMP (U.TestCase): def test_string(me): y = C.MP(6556380541834372447694561492436749633) me.assertEqual(str(y), '6556380541834372447694561492436749633') - me.assertEqual(repr(y), 'MP(6556380541834372447694561492436749633L)') + me.assertEqual(repr(y), 'MP(6556380541834372447694561492436749633)') me.assertEqual(hex(y), '0x4eeb684a0954ec4ceb255e3e9778d41') - me.assertEqual(oct(y), '047353320450112516611472622536175135706501') + me.assertEqual(oct(y), T.py23('0', '0o') + + '47353320450112516611472622536175135706501') + try: bin + except NameError: pass + else: me.assertEqual(bin(C.MP(661438603)), + '0b100111011011001100000010001011') def test_number(me): x, y, m, zero = C.MP(169), C.MP(24), C.MP(205), C.MP(0) @@ -135,6 +140,20 @@ class TestMP (U.TestCase): me.assertTrue(y < x) me.assertFalse(x < x) + def test_float(me): + x, y = C.MP(169), 24.0 + for fn in [T.add, T.sub, T.mul, T.div]: + me.assertEqual(type(fn(x, y)), float) + me.assertEqual(type(fn(y, x)), float) + me.assertEqual(x, 169.0) + me.assertNotEqual(x, 169.1) + me.assertNotEqual(x, 168.9) + me.assertTrue(x > 168.9) + me.assertTrue(x < 169.1) + z = 1.0 + while z == z + 1: z *= 2.0 + me.assertNotEqual(C.MP(int(z)) + 1, z) + def test_bits(me): x, y, zero = C.MP(169), C.MP(-24), C.MP(0) me.assertTrue(x.testbit(0)) @@ -397,9 +416,14 @@ class TestGF (U.TestCase): def test_string(me): y = C.GF(0x4eeb684a0954ec4ceb255e3e9778d41) me.assertEqual(str(y), '0x4eeb684a0954ec4ceb255e3e9778d41') - me.assertEqual(repr(y), 'GF(0x4eeb684a0954ec4ceb255e3e9778d41L)') + me.assertEqual(repr(y), 'GF(0x4eeb684a0954ec4ceb255e3e9778d41)') me.assertEqual(hex(y), '0x4eeb684a0954ec4ceb255e3e9778d41') - me.assertEqual(oct(y), '047353320450112516611472622536175135706501') + me.assertEqual(oct(y), T.py23('0', '0o') + + '47353320450112516611472622536175135706501') + try: bin + except NameError: pass + else: me.assertEqual(bin(C.GF(661438603)), + '0b100111011011001100000010001011') def test_number(me): x, y, m, zero = C.GF(0xa9), C.GF(0x18), C.GF(0x11b), C.GF(0)