Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r82914:d994482a6040
Date: 2016-03-09 17:40 +0100
http://bitbucket.org/pypy/pypy/changeset/d994482a6040/

Log:    Playing around with hypothesis

diff --git a/rpython/rlib/test/test_rbigint.py 
b/rpython/rlib/test/test_rbigint.py
--- a/rpython/rlib/test/test_rbigint.py
+++ b/rpython/rlib/test/test_rbigint.py
@@ -15,6 +15,8 @@
 from rpython.rtyper.test.test_llinterp import interpret
 from rpython.translator.c.test.test_standalone import StandaloneTests
 
+from hypothesis import given, strategies
+
 long_vals_not_too_big = range(17) + [
         37, 50,
         127, 128, 129, 511, 512, 513, sys.maxint, sys.maxint + 1,
@@ -967,6 +969,14 @@
         py.test.raises(InvalidSignednessError, i.tobytes, 3, 'little', 
signed=False)
         py.test.raises(OverflowError, i.tobytes, 2, 'little', signed=True)
 
+    @given(strategies.binary(), strategies.booleans(), strategies.booleans())
+    def test_frombytes_tobytes_hypothesis(self, s, big, signed):
+        # check the roundtrip from binary strings to bigints and back
+        byteorder = 'big' if big else 'little'
+        bigint = rbigint.frombytes(s, byteorder=byteorder, signed=signed)
+        t = bigint.tobytes(len(s), byteorder=byteorder, signed=signed)
+        assert s == t
+
 
 class TestTranslated(StandaloneTests):
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to