[pypy-commit] pypy decimal-libmpdec: Add passing test

amauryfa noreply at buildbot.pypy.org
Sun May 11 00:27:50 CEST 2014


Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: decimal-libmpdec
Changeset: r71459:a24293c9d03b
Date: 2014-05-10 12:16 +0200
http://bitbucket.org/pypy/pypy/changeset/a24293c9d03b/

Log:	Add passing test

diff --git a/pypy/module/_decimal/test/test_decimal.py b/pypy/module/_decimal/test/test_decimal.py
--- a/pypy/module/_decimal/test/test_decimal.py
+++ b/pypy/module/_decimal/test/test_decimal.py
@@ -291,3 +291,26 @@
         assert str(nc.create_decimal(Decimal('NaN12345'))) == 'NaN'
         assert nc.flags[InvalidOperation]
 
+    def test_explicit_context_create_from_float(self):
+        Decimal = self.decimal.Decimal
+
+        nc = self.decimal.Context()
+        r = nc.create_decimal(0.1)
+        assert assertEqual(type(r)) is Decimal
+        assert str(r) == '0.1000000000000000055511151231'
+        assert nc.create_decimal(float('nan')).is_qnan()
+        assert nc.create_decimal(float('inf')).is_infinite()
+        assert nc.create_decimal(float('-inf')).is_infinite()
+        assert (str(nc.create_decimal(float('nan'))) ==
+                str(nc.create_decimal('NaN')))
+        assert (str(nc.create_decimal(float('inf'))) ==
+                str(nc.create_decimal('Infinity')))
+        assert (str(nc.create_decimal(float('-inf'))) ==
+                str(nc.create_decimal('-Infinity')))
+        assert (str(nc.create_decimal(float('-0.0'))) ==
+                str(nc.create_decimal('-0')))
+        nc.prec = 100
+        for i in range(200):
+            x = self.random_float()
+            assert x == float(nc.create_decimal(x))  # roundtrip
+


More information about the pypy-commit mailing list