[pypy-commit] lang-scheme default: Added a closure test
boemmels
noreply at buildbot.pypy.org
Thu Dec 29 21:32:36 CET 2011
Author: Juergen Boemmels <boemmels at web.de>
Branch:
Changeset: r29:b27460bc0d0d
Date: 2011-12-04 00:19 +0100
http://bitbucket.org/pypy/lang-scheme/changeset/b27460bc0d0d/
Log: Added a closure test
diff --git a/scheme/test/test_scheme_level.py b/scheme/test/test_scheme_level.py
--- a/scheme/test/test_scheme_level.py
+++ b/scheme/test/test_scheme_level.py
@@ -159,3 +159,17 @@
(assert (string? new-str))
(assert (equal? new-str "*******"))
""")
+
+def test_closures():
+ run_with_assert(r"""
+(define (make-counter start) (lambda () (set! start (+ 1 start)) start))
+(assert (procedure? make-counter))
+(define counter-a (make-counter 10))
+(define counter-b (make-counter 10))
+(assert (procedure? counter-a))
+(assert (eqv? (counter-a) 11))
+(assert (eqv? (counter-a) 12))
+(assert (eqv? (counter-a) 13))
+(assert (eqv? (counter-b) 11))
+""")
+
More information about the pypy-commit
mailing list