[pypy-svn] r75854 - in pypy/branch/fast-forward/pypy/module/__builtin__: . test

benjamin at codespeak.net benjamin at codespeak.net
Mon Jul 5 20:21:26 CEST 2010


Author: benjamin
Date: Mon Jul  5 20:21:24 2010
New Revision: 75854

Added:
   pypy/branch/fast-forward/pypy/module/__builtin__/app_operation.py   (contents, props changed)
Modified:
   pypy/branch/fast-forward/pypy/module/__builtin__/__init__.py
   pypy/branch/fast-forward/pypy/module/__builtin__/test/test_builtin.py
Log:
add bin()

Modified: pypy/branch/fast-forward/pypy/module/__builtin__/__init__.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/__builtin__/__init__.py	(original)
+++ pypy/branch/fast-forward/pypy/module/__builtin__/__init__.py	Mon Jul  5 20:21:24 2010
@@ -37,6 +37,8 @@
         'vars'          : 'app_inspect.vars',
         'dir'           : 'app_inspect.dir',
 
+        'bin'           : 'app_operation.bin',
+
         '__filestub'    : 'app_file_stub.file',
     }
 

Added: pypy/branch/fast-forward/pypy/module/__builtin__/app_operation.py
==============================================================================
--- (empty file)
+++ pypy/branch/fast-forward/pypy/module/__builtin__/app_operation.py	Mon Jul  5 20:21:24 2010
@@ -0,0 +1,4 @@
+def bin(x):
+    if not isinstance(x, (int, long)):
+        raise TypeError("must be int or long")
+    return format(x, "#b")

Modified: pypy/branch/fast-forward/pypy/module/__builtin__/test/test_builtin.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/__builtin__/test/test_builtin.py	(original)
+++ pypy/branch/fast-forward/pypy/module/__builtin__/test/test_builtin.py	Mon Jul  5 20:21:24 2010
@@ -32,6 +32,13 @@
         raises(ValueError, chr, -1)
         raises(TypeError, chr, 'a')
 
+    def test_bin(self):
+        assert bin(0) == "0b0"
+        assert bin(-1) == "-0b1"
+        assert bin(2L) == "0b10"
+        assert bin(-2L) == "-0b10"
+        raises(TypeError, bin, 0.)
+
     def test_unichr(self):
         import sys
         assert unichr(65) == u'A'



More information about the Pypy-commit mailing list