X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/e21f11bb2a7263033cb017793b6ec8ef33c91966..74836df7a6a201ee0e87500621ae7d4f581de1e5:/t/t-convert.py diff --git a/t/t-convert.py b/t/t-convert.py index 08c660f..19d6918 100644 --- a/t/t-convert.py +++ b/t/t-convert.py @@ -51,10 +51,10 @@ class TestConvert (U.TestCase): me.assertEqual(pow(C.MP(5), 2, 7), 4) me.assertEqual(pow(5, C.MP(2), 7), 4) me.assertEqual(pow(5, 2, C.MP(7)), 4) - for bad in [lambda x: [x]]: + for bad in [C.GF, k, kk, str, float, lambda x: [x]]: me.assertRaises(TypeError, pow, C.MP(5), bad(2)) me.assertRaises(TypeError, pow, C.MP(5), bad(2), 7) - if not T.DEBUGP: + if not (T.PY2 and T.DEBUGP): ## Debug builds of Python 2 crash here, and it's not our fault. Run ## ## $ python2.7-dbg -c 'pow(long(5), 2, [7])' @@ -76,26 +76,33 @@ class TestConvert (U.TestCase): me.assertEqual(pow(C.GF(0x5), 2), C.GF(0x11)) me.assertEqual(pow(C.GF(0x5), C.MP(2)), C.GF(0x11)) me.assertEqual(pow(C.GF(5), 2, C.GF(0x13)), C.GF(0x2)) - for bad in [lambda x: [x]]: + for bad in [k, kk, str, float, lambda x: [x]]: me.assertRaises(TypeError, pow, C.GF(5), bad(2)) me.assertRaises(TypeError, T.lsl, C.GF(5), bad(2)) - for bad in [lambda x: [x]]: + for bad in [int, C.MP, k, kk, str, float, lambda x: [x]]: me.assertRaises(TypeError, pow, bad(5), C.GF(2)) me.assertRaises(TypeError, pow, bad(5), C.GF(2), bad(7)) me.assertRaises(TypeError, pow, bad(5), bad(2), C.GF(7)) me.assertRaises(TypeError, pow, C.GF(5), bad(2), bad(7)) - if not T.DEBUGP: + if not (T.PY2 and T.DEBUGP): ## Python bug: see above. me.assertRaises(TypeError, pow, C.GF(5), 2, bad(7)) ## `MP' and `GF'. me.assertEqual(C.MP(5), 5) me.assertEqual(5, C.MP(5)) + me.assertNotEqual(C.GF(5), 5) + me.assertNotEqual(5, C.GF(5)) + me.assertNotEqual(C.MP(5), C.GF(5)) + me.assertNotEqual(C.GF(5), C.MP(5)) me.assertEqual(C.MP(5) + 3, 8) me.assertEqual(3 + C.MP(5), 8) + me.assertRaises(TypeError, T.add, C.GF(5), 3) + me.assertRaises(TypeError, T.add, 3, C.GF(5)) me.assertRaises(TypeError, T.add, C.MP(5), C.GF(3)) me.assertRaises(TypeError, T.add, C.GF(3), C.MP(5)) + if T.PY3: me.assertRaises(TypeError, T.le, C.MP(4), C.GF(5)) ## Field elements. me.assertEqual(k(3) + 4, 7) @@ -106,8 +113,18 @@ class TestConvert (U.TestCase): me.assertEqual(C.GF(7) + kk(3), C.GF(4)) me.assertEqual(kk(3) + C.GF(7), C.GF(4)) + me.assertRaises(TypeError, T.add, k(3), 3.0) + me.assertRaises(TypeError, T.add, k(3), "3") me.assertRaises(TypeError, T.add, k(3), kk(3)) me.assertRaises(TypeError, T.add, kk(3), k(3)) + me.assertRaises(TypeError, T.add, k(3), C.GF(7)) + me.assertRaises(TypeError, T.add, C.GF(7), k(3)) + me.assertRaises(TypeError, T.add, kk(3), 7) + me.assertRaises(TypeError, T.add, kk(3), 7.0) + me.assertRaises(TypeError, T.add, kk(3), "7") + me.assertRaises(TypeError, T.add, 7, kk(3)) + me.assertRaises(TypeError, T.add, kk(3), C.MP(7)) + me.assertRaises(TypeError, T.add, C.MP(7), kk(3)) ###----- That's all, folks --------------------------------------------------