loads of doctests
authorStefan Behnel <scoder@users.berlios.de>
Tue, 1 Jan 2008 12:17:33 +0000 (13:17 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Tue, 1 Jan 2008 12:17:33 +0000 (13:17 +0100)
37 files changed:
tests/compile/classmethargdefault.pyx
tests/compile/pinard4.pyx
tests/run/addop.pyx
tests/run/ass2local.pyx
tests/run/bishop1.pyx
tests/run/boolop.pyx
tests/run/classpass.pyx
tests/run/concatcstrings.pyx
tests/run/cstringmul.pyx
tests/run/cvardef.pyx
tests/run/exarkun.pyx
tests/run/extclasspass.pyx
tests/run/extinstantiate.pyx
tests/run/if.pyx
tests/run/ishimoto3.pyx
tests/run/kostyrka.pyx
tests/run/kostyrka2.pyx
tests/run/lepage_1.pyx
tests/run/list.pyx
tests/run/literals.pyx
tests/run/multass.pyx
tests/run/pass.pyx
tests/run/pinard6.pyx
tests/run/pinard8.pyx
tests/run/print.pyx
tests/run/pyintop.pyx
tests/run/r_jiba1.pyx
tests/run/r_mcintyre1.pyx
tests/run/r_mitch_chapman_2.pyx
tests/run/r_vree_1.pyx
tests/run/rodriguez_1.pyx
tests/run/simpcall.pyx
tests/run/slice2.pyx
tests/run/strconstinclass.pyx
tests/run/tuple.pyx
tests/run/unop.pyx
tests/run/unpack.pyx

index 8c827f1f75ea05b6b2b229cffd9110937d12115d..72bdb1c541a3077f17d7bf19a0526a73bb5f1941 100644 (file)
@@ -1,5 +1,20 @@
+__doc__ = """
+    >>> s = Swallow()
+    >>> s.spam(1)
+    1 42 'grail' True
+    >>> s.spam(1, 2)
+    1 2 'grail' True
+    >>> s.spam(1, z = 2)
+    1 42 'grail' 2
+    >>> s.spam(1, y = 2)
+    1 42 2 True
+    >>> s.spam(1, x = 2, y = 'test')
+    1 2 'test' True
+"""
+
+swallow = True
+
 class Swallow:
 
     def spam(w, int x = 42, y = "grail", z = swallow):
-        pass
-
+        print w, x, y, z
index 69e9a56ce03fa9e9ceec3cd85b7cc7f940fecc6c..c9f66f4567b2f1cefb5cbe82566f00710a2ffa95 100644 (file)
@@ -1 +1,7 @@
+__doc__ = """
+    >>> fiches_CP
+    []
+"""
+
+fiches_CP = [1,2,3]
 fiches_CP[:] = []
index 6f44d038704db13d1cd6f8152d842be217d87d30..0bf19e5ccfc38d7be39e7ccab7b644fb87a5563e 100644 (file)
@@ -1,6 +1,12 @@
+__doc__ = """
+    >>> 
+"""
+
 def f():
     cdef int int1, int2, int3
     cdef char *ptr1, *ptr2, *ptr3
+    int2 = 10
+    int3 = 20
     obj1 = 1
     obj2 = 2
     obj3 = 3
@@ -8,4 +14,4 @@ def f():
     ptr1 = ptr2 + int3
     ptr1 = int2 + ptr3
     obj1 = obj2 + int3
-    
\ No newline at end of file
+    return int1, obj1
index 20524b1cb114f4f8a4a4ae9aa401e18ae3ac99f6..c929027bc1bfd97ade4b924374d4c121ec4c6609 100644 (file)
@@ -1,2 +1,8 @@
+__doc__ = """
+    >>> f()
+    42
+"""
+
 def f():
     a = 42
+    return a
index 7b9b620858ecb68d57f1734cc42cf46ad84730b0..52c3468c45de12cf481b31e7cc669296bf8f95fa 100644 (file)
@@ -1,3 +1,13 @@
+__doc__ = """
+    >>> m = fmatrix()
+    >>> m[1] = True
+    >>> m.getfoo()
+    1
+    >>> m[0] = True
+    >>> m.getfoo()
+    0
+"""
+
 cdef class fmatrix:
   cdef int foo
 
@@ -6,3 +16,6 @@ cdef class fmatrix:
       self.foo = value
       return
     self.foo = not value
+
+  def getfoo(self):
+    return self.foo
index dfafab4575d43885340150f340b3ad3f6233b4c1..bdc3e83fc18307a50641939098c63c6b05732661 100644 (file)
@@ -1,7 +1,17 @@
-cdef void foo(obj1, obj2, obj3, obj4, obj5):
+__doc__ = """
+    >>> foo(True, False, 23, 'test', 1)
+    (0, 1, False, False)
+"""
+
+def foo(obj1, obj2, obj3, obj4, obj5):
     cdef int bool1, bool2, bool3, bool4
     cdef char *ptr
     cdef float f
+    bool1 = 1
+    bool2 = 0
+    ptr = NULL
+    f = 0.0
+
     bool3 = bool1 and bool2
     bool3 = bool1 or bool2
     bool3 = obj1 and obj2
@@ -11,3 +21,4 @@ cdef void foo(obj1, obj2, obj3, obj4, obj5):
     bool4 = bool1 or bool2 and bool3
     obj4 = obj1 and obj2 and obj3
     obj5 = (obj1 + obj2 + obj3) and obj4
+    return bool3, bool4, obj4, obj5
index f644f35f9f43035ef60d584217343313bc176a72..603d14226752516bb8ef9bdfd3056e91dabe35ce 100644 (file)
@@ -1,2 +1,13 @@
+__doc__ = """
+    >>> s = Spam()
+    >>> print s.__class__.__name__
+    Spam
+
+    >>> s = SpamT()
+    >>> print type(s).__name__
+    SpamT
+"""
+
 class Spam: pass
 
+class SpamT(object): pass
index ce1b92c22bb5e71c3204de6937eebee971d41b75..a524e9e701d7b8645da6c5d7e2097193c8f59930 100644 (file)
@@ -1,2 +1,7 @@
+__doc__ = """
+    >>> spam == "C string 1" + "C string 2"
+    True
+"""
+
 spam = "C string 1" + "C string 2"
 
index bef435ad5b58d7c89d1c01925dfa9f1be09e8138..6f76adadb9a5c6e341e90b25021ca7cd7b8e3c54 100644 (file)
@@ -1,3 +1,10 @@
-spam = "eggs" * 42
-grail = 17 * "tomato"
+__doc__ = """
+    >>> print spam
+    eggseggseggseggs
+    >>> print grail
+    tomatotomatotomatotomatotomatotomatotomato
+"""
+
+spam = "eggs" * 4
+grail = 7 * "tomato"
 
index 57d4be3c0a186f562460a048e6b355cd7ee97ebc..7ae03133c80bf8c52fa3716b9bd2b20ba6be6cf3 100644 (file)
@@ -1,3 +1,7 @@
+__doc__ = """
+    >>> f()
+"""
+
 def f():
     cdef char a_char
     cdef short a_short
index 4ca7ad115132e7ecb4efe731c8120c2a6697e9bb..2803e4c5ab7fea34234ddb6e363bee3d7f412521 100644 (file)
@@ -1,3 +1,14 @@
+__doc__ = """
+    >>> p = Point(1,2,3)
+    >>> p.gettuple()
+    (1.0, 2.0, 3.0)
+    >>> q = p + Point(2,3,4)
+    >>> q.gettuple()
+    (3.0, 5.0, 7.0)
+    >>> p.gettuple()
+    (1.0, 2.0, 3.0)
+"""
+
 cdef class Point:
     cdef double x, y, z
     def __init__(self, double x, double y, double z):
@@ -5,6 +16,9 @@ cdef class Point:
         self.y = y
         self.z = z
 
-    # XXX
-    def __add__(self, other):
+    # XXX: originally, this said "def __add__(self, other)"
+    def __add__(Point self, Point other):
         return Point(self.x + other.x, self.y + other.y, self.z + other.z)
+
+    def gettuple(self):
+        return (self.x, self.y, self.z)
index b8b19eed622867ce4e7d5a823f1e81f03446f271..528e23e551aa18fd723cd82f4548a280a4e9b2b7 100644 (file)
@@ -1,2 +1,7 @@
-cdef class Eggs: pass
+__doc__ = """
+    >>> e = Eggs()
+    >>> print type(e).__name__
+    Eggs
+"""
 
+cdef class Eggs: pass
index d64ad0a7aef70fc7d3e0066ab439618ff583f36b..b6f1e93725ae6c17808dee7e4ea4cb8e9c2e4ae1 100644 (file)
@@ -1,5 +1,11 @@
+__doc__ = """
+    >>> print type(f()).__name__
+    Spam
+"""
+
 cdef class Spam:
     pass
 
 def f():
     s = Spam()
+    return s
index e3176a3f5418db62fcb87e8e0d37717597457abf..a1d9dac25fe7d3e8b80e822554e8193b248b7a31 100644 (file)
@@ -1,19 +1,48 @@
+__doc__ = """
+    >>> f(0,0)
+    0
+    >>> f(1,2)
+    2
+    >>> f(1,-1)
+    1
+
+    >>> g(1,2)
+    1
+    >>> g(0,2)
+    2
+    >>> g(0,0)
+    0
+
+    >>> h(1,2)
+    1
+    >>> h(0,2)
+    2
+    >>> h(0,0)
+    3
+"""
+
 def f(a, b):
+    x = 0
     if a:
         x = 1
-        
     if a+b:
-        x = 1
-        
+        x = 2
+    return x
+
+def g(a, b):
+    x = 0
     if a:
         x = 1
     elif b:
         x = 2
+    return x
     
+def h(a, b):
+    x = 0
     if a:
         x = 1
     elif b:
         x = 2
     else:
         x = 3
-        
\ No newline at end of file
+    return x
index 1baf0b840bd300cec182b234dc17ce42121921d1..4954547edd8b0e783c9debd2c77bcd4a9a252af3 100644 (file)
@@ -1,3 +1,10 @@
+__doc__ = """
+    >>> c1 = C1()
+    >>> c2 = C2(c1)
+    >>> c1 is c2.getc1()
+    True
+"""
+
 cdef class C1:
     pass
 
@@ -6,3 +13,6 @@ cdef class C2:
 
     def __init__(self, arg):
         self.c1 = arg
+
+    def getc1(self):
+        return self.c1
index baef2ff824fab20d15231f5f1e0eef5a5f9761e7..2b7f926278fee518fd31e69c1def1e6b00e7cb28 100644 (file)
@@ -1,3 +1,9 @@
+__doc__ = """
+    >>> t = TEST()
+    >>> 1 in t
+    True
+"""
+
 cdef class TEST:
     def __contains__(self, x):
         return 42
index 0dfe2e04ee9618bf2d23230997ad2a2ea0c91b19..b85659e44c392225b8c2ff90a2dd1517524ede8d 100644 (file)
@@ -1,2 +1,8 @@
+__doc__ = """
+    >>> x = X()
+    >>> x.slots
+    ['']
+"""
+
 class X:
         slots = ["", ]
index 551bc7f9d793b7b1c665493c2d77ea284c859e54..0dd1980f46e257ed23e53a08dac87679a9328556 100644 (file)
@@ -1,5 +1,23 @@
+__doc__ = """
+    >>> a = A(1,2,3)
+    >>> a[0]
+    1.0
+    >>> a[1]
+    2.0
+    >>> a[2]
+    3.0
+"""
+
 cdef class A:
     cdef double x[3]
 
+    def __init__(self, *args):
+        cdef int i, max
+        max = len(args)
+        if max > 3:
+            max = 3
+        for i from 0 <= i < max:
+            self.x[i] = args[i]
+
     def __getitem__(self,i):
         return self.x[i]
index 550494c44b6a9fdc69f1474f93a0702abe1b1b43..40821b4222c02b2218cc617adbd9c02bf4dee769 100644 (file)
@@ -1,7 +1,32 @@
+__doc__ = """
+    >>> f(1, 2, 3, 4, 5)
+    []
+    >>> g(1, 2, 3, 4, 5)
+    [2]
+    >>> h(1, 2, 3, 4, 5)
+    [2, 3]
+    >>> j(1, 2, 3, 4, 5)
+    [2, 3, 4]
+    >>> k(1, 2, 3, 4, 5)
+    [17, 42, 88]
+"""
+
 def f(obj1, obj2, obj3, obj4, obj5):
     obj1 = []
+    return obj1
+
+def g(obj1, obj2, obj3, obj4, obj5):
     obj1 = [obj2]
+    return obj1
+
+def h(obj1, obj2, obj3, obj4, obj5):
     obj1 = [obj2, obj3]
+    return obj1
+
+def j(obj1, obj2, obj3, obj4, obj5):
     obj1 = [obj2, obj3, obj4]
+    return obj1
+
+def k(obj1, obj2, obj3, obj4, obj5):
     obj1 = [17, 42, 88]
-    
\ No newline at end of file
+    return obj1
index 158009a3c4f68c6a3c510a5bc4e138eccc797a47..0421d7e3abad29f2f8b8195a93cab2f685b44fbf 100644 (file)
@@ -1,3 +1,7 @@
+__doc__ = """
+    >>> foo()
+"""
+
 def foo():
     a = 42
     a1 = 0123
index e5820657764e16b3ef4a112471d11b4c94d6e0bd..735cee074b6f76ca76d6d36620d7f9b494d97bb5 100644 (file)
@@ -1,8 +1,36 @@
-cdef void f():
+__doc__ = """
+    >>> f()
+    (1, 2, 1, 2)
+    >>> g()
+    (1, 1, 2, 2, 3, 3)
+    >>> h()
+    (1, 'test', 3, 1, 'test', 3)
+    >>> j()
+    (2, 1, 4, 2, 6, 3)
+"""
+
+def f():
     cdef object obj1a, obj2a, obj3a, obj1b, obj2b, obj3b
-    cdef int int1, int2
-    cdef char *ptr1, *ptr2
+    obj1b, obj2b, obj3b = 1, 2, 3
     obj1a, obj2a = obj1b, obj2b
+    return obj1a, obj2a, obj1b, obj2b
+
+def g():
+    cdef object obj1a, obj2a, obj3a, obj1b, obj2b, obj3b
+    obj1b, obj2b, obj3b = 1, 2, 3
     obj1a, [obj2a, obj3a] = [obj1b, (obj2b, obj3b)]
+    return obj1a, obj1b, obj2a, obj2b, obj3a, obj3b
+
+def h():
+    cdef object obj1a, obj2a, obj3a, obj1b, obj2b, obj3b
+    cdef int int1, int2
+    cdef char *ptr1, *ptr2
+    int2, ptr2, obj1b = 1, "test", 3
     int1, ptr1, obj1a = int2, ptr2, obj1b
+    return int1, ptr1, obj1a, int2, ptr2, obj1b
+
+def j():
+    cdef object obj1a, obj2a, obj3a, obj1b, obj2b, obj3b
+    obj1b, obj2b, obj3b = 1, 2, 3
     obj1a, obj2a, obj3a = obj1b + 1, obj2b + 2, obj3b + 3
+    return obj1a, obj1b, obj2a, obj2b, obj3a, obj3b
index 4f28bc7a4992fa35bc68694e612a5b49e2d770b9..88c7af0f953db8231978bb4ffaa1acd55d4f2621 100644 (file)
@@ -1,2 +1,6 @@
+__doc__ = """
+    >>> f()
+"""
+
 def f():
     pass
index 98d03059290b3d184404615eab36685cd001b822..7fadadefea71d970dbe39041512a0523e1cf2e5d 100644 (file)
@@ -1,2 +1,7 @@
+__doc__ = """
+    >>> x
+    (1, 2)
+"""
+
 x = 1,
 x = 1, 2,
index aae2b5064ac1b68a41d0382c7f3a39ee0d415138..e7232fcadfd1bdb010e2e1126bdcf66522f41779 100644 (file)
@@ -1,5 +1,26 @@
+__doc__ = """
+    >>> f = Fiche()
+    >>> f[0] = 1
+    >>> f.geti()
+    1
+
+    >>> f[1] = None
+    >>> f.geti()
+    0
+
+    >>> f[0] = 1
+    >>> f.geti()
+    1
+"""
+
 cdef class Fiche:
+    cdef int i
 
     def __setitem__(self, element, valeur):
+        self.i = 0
         if valeur is None:
             return
+        self.i = 1
+
+    def geti(self):
+        return self.i
index 650f05c9d128a21bc47c804a4b5121d7a09c2a48..67b7e1f4329337d15233a2434706bd5e884077c6 100644 (file)
@@ -1,7 +1,15 @@
+__doc__ = """
+    >>> f(1, 'test')
+    <BLANKLINE>
+    1
+    1 test
+    1 test 42 spam
+"""
+
 def f(a, b):
     print
     print a
     print a, b
     print a, b,
     print 42, "spam"
-    
\ No newline at end of file
+    
index f6f3eeabb7608af5e3c43fd09a7487f43db80a43..297342608895c1d5dc1873069bbda45d91d6f5d1 100644 (file)
@@ -1,11 +1,38 @@
-def f():
-    obj1 = 1
-    obj2 = 2
-    obj3 = 3
+__doc__ = """
+    >>> f(1,2,3)
+    3
+    >>> g(1,2,3)
+    1
+    >>> h(1,2,3)
+    2
+    >>> j(1,2,3)
+    16
+    >>> k(1,2,3)
+    0
+    >>> l(1,2,3)
+    16
+"""
+
+def f(obj1, obj2, obj3):
     obj1 = obj2 | obj3
+    return obj1
+
+def g(obj1, obj2, obj3):
     obj1 = obj2 ^ obj3
+    return obj1
+
+def h(obj1, obj2, obj3):
     obj1 = obj2 & obj3
+    return obj1
+
+def j(obj1, obj2, obj3):
     obj1 = obj2 << obj3
+    return obj1
+
+def k(obj1, obj2, obj3):
     obj1 = obj2 >> obj3
+    return obj1
+
+def l(obj1, obj2, obj3):
     obj1 = obj2 << obj3 | obj2 >> obj3
-    
\ No newline at end of file
+    return obj1
index 2034b38734a09b467bf680ca8f6ff5a00e9488c5..cce2b7f1101dded409ef25bfd0fcaff991d292c0 100644 (file)
@@ -1,3 +1,10 @@
+__doc__ = """
+    >>> test()
+    This parrot is resting.
+    Lovely plumage!
+"""
+
+
 cdef class Parrot:
 
     cdef void describe(self):
@@ -11,8 +18,9 @@ cdef class Norwegian(Parrot):
     cdef void describe(self):
         print "Lovely plumage!"
 
-cdef Parrot p1, p2
-p1 = Parrot()
-p2 = Norwegian()
-p1.describe()
-p2.describe()
+def test():
+    cdef Parrot p1, p2
+    p1 = Parrot()
+    p2 = Norwegian()
+    p1.describe()
+    p2.describe()
index b0d19cef081980dac6d091cc935eb48849b8e046..a047ffcf6769e12ca0df515a10d01203ce7844e4 100644 (file)
@@ -1,3 +1,11 @@
+__doc__ = """
+    >>> b = Bicycle()
+    >>> b.fall_off()
+    Falling off extremely hard
+    >>> b.fall_off("somewhat")
+    Falling off somewhat hard
+"""
+
 class Bicycle:
 
     def fall_off(self, how_hard = "extremely"):
index afbed934fae95bf7b30dd31808cd3ed34fe45096..003f0b516ef3c5a53c943eaf73c24eafe2adf2ee 100644 (file)
@@ -1,3 +1,8 @@
+__doc__ = """
+    >>> boolExpressionsFail()
+    'Not 2b'
+"""
+
 def boolExpressionsFail():
     dict = {1: 1}
     if not dict.has_key("2b"):
index 257d67c59b4eca70574e89a0c69dca1c801bd741..a520d2e9b0da5359494452c6fe881406c47b7bf8 100644 (file)
@@ -1,3 +1,16 @@
+__doc__ = """
+    >>> test(0)
+    0L
+    >>> test(1)
+    1L
+    >>> 2**36
+    68719476736L
+    >>> test(2**36)
+    0L
+    >>> test(2L**36)
+    0L
+"""
+
 def test(k):
     cdef unsigned long m
     m = k
index f8cd04d524f0744b39963aaff58b6c791d1d049b..01838c3193d6216190a96016b9d5cff34c3fd248 100644 (file)
@@ -1,3 +1,9 @@
+__doc__ = """
+    >>> b = B()
+    >>> b.t
+    {1: ((1, 2, 3),), 2: (1, 2, 3)}
+"""
+
 class B:
     def __init__(self):
         self.t = {
index db8ed9643ce16fe379128a96fa3114d9bae1ca86..0f93f69bb7b37c4dc027b9c1776b9baf40461ca9 100644 (file)
@@ -1,3 +1,18 @@
+__doc__ = """
+    >>> z(1,9.2,'test')
+    >>> failtype()
+    Traceback (most recent call last):
+    TypeError: an integer is required
+
+    >>> fail0(1,2)
+    Traceback (most recent call last):
+    TypeError: function takes exactly 2 arguments (0 given)
+
+    >>> fail1(1,2)
+    Traceback (most recent call last):
+    TypeError: function takes exactly 2 arguments (1 given)
+"""
+
 def f(x, y):
     x = y
 
@@ -8,11 +23,16 @@ cdef h(int i, obj):
     i = obj
 
 def z(a, b, c):
-    f()
-    f(a)
     f(a, b)
     f(a, b,)
     g(1, 2.0, "spam")
     g(a, b, c)
+    
+def fail0(a, b):
+    f()
+    
+def fail1(a, b):
+    f(a)
+
+def failtype():
     h(42, "eggs")
-    
\ No newline at end of file
index 437dcaeeed61a550a063714dd45208011f5e7364..ffbd5155cf0aeda08d7af52b88d8b98cb347a193 100644 (file)
@@ -1,5 +1,35 @@
+__doc__ = """
+    >>> l = [1,2,3,4]
+
+    >>> f(1, l, 2, 3)
+    [1, 2, 3, 4]
+    >>> l == f(1, l, 2, 3)
+    True
+    >>> l is f(1, l, 2, 3)
+    False
+
+    >>> g(1, [1,2,3,4], 2, 3)
+    [3, 4]
+
+    >>> h(1, [1,2,3,4], 2, 3)
+    [1, 2, 3]
+
+    >>> j(1, [1,2,3,4], 2, 3)
+    [3]
+"""
+
 def f(obj1, obj2, obj3, obj4):
     obj1 = obj2[:]
+    return obj1
+
+def g(obj1, obj2, obj3, obj4):
     obj1 = obj2[obj3:]
+    return obj1
+
+def h(obj1, obj2, obj3, obj4):
     obj1 = obj2[:obj4]
+    return obj1
+
+def j(obj1, obj2, obj3, obj4):
     obj1 = obj2[obj3:obj4]
+    return obj1
index 67e662e4470a78503840e8a4c581ab154e23ee3c..9088a16854da0e107ea64f8daf6860292ff1ba08 100644 (file)
@@ -1,3 +1,9 @@
+__doc__ = """
+    >>> c = C()
+    >>> print c.x
+    foo
+"""
+
 class C:
     x = "foo"
 
index 6ff23885af29965d7cd997090e146303c6ea3a56..99eb05bbfe0367b99f0d972a3c77f55d0108b336 100644 (file)
@@ -1,7 +1,53 @@
+__doc__ = """
+    >>> f(1,2,3,4,5)
+    ()
+    >>> g(1,2,3,4,5)
+    (2,)
+    >>> h(1,2,3,4,5)
+    (2, 3)
+    >>> j(1,2,3,4,5)
+    (2, 3, 4)
+    >>> k(1,2,3,4,5)
+    (2, 3, 4)
+    >>> l(1,2,3,4,5)
+    (17, 42, 88)
+"""
+
 def f(obj1, obj2, obj3, obj4, obj5):
+    obj1 = ()
+    return obj1
+
+def g(obj1, obj2, obj3, obj4, obj5):
+    obj1 = ()
+    obj1 = (obj2,)
+    return obj1
+
+def h(obj1, obj2, obj3, obj4, obj5):
+    obj1 = ()
+    obj1 = (obj2,)
+    obj1 = obj2, obj3
+    return obj1
+
+def j(obj1, obj2, obj3, obj4, obj5):
+    obj1 = ()
+    obj1 = (obj2,)
+    obj1 = obj2, obj3
+    obj1 = (obj2, obj3, obj4)
+    return obj1
+
+def k(obj1, obj2, obj3, obj4, obj5):
+    obj1 = ()
+    obj1 = (obj2,)
+    obj1 = obj2, obj3
+    obj1 = (obj2, obj3, obj4)
+    obj1 = (obj2, obj3, obj4,)
+    return obj1
+
+def l(obj1, obj2, obj3, obj4, obj5):
     obj1 = ()
     obj1 = (obj2,)
     obj1 = obj2, obj3
     obj1 = (obj2, obj3, obj4)
     obj1 = (obj2, obj3, obj4,)
     obj1 = 17, 42, 88
+    return obj1
index 2311415ff176a071a3e74c0e825d823afb3d294f..1ea4f60a506f3f0cd4077b35b91fced71ba02376 100644 (file)
@@ -1,7 +1,17 @@
+__doc__ = """
+    >>> f(1, 2, 3)
+    (-3, -4, 1)
+"""
+
 def f(obj1, obj2, obj3):
     cdef int bool1, bool2
     cdef int int1, int2
     cdef char *str1
+
+    int2 = obj3
+    str1 = NULL
+    bool2 = 0
+
     bool1 = not bool2
     obj1 = not obj2
     bool1 = not str1
@@ -11,4 +21,4 @@ def f(obj1, obj2, obj3):
     obj1 = -obj2
     int1 = ~int2
     obj1 = ~obj2
-    
\ No newline at end of file
+    return obj1, int1, bool1
index 3a7c3b8ca9d270784f536c0a148c5522121f04a0..3bd36e1a8be0d28090466a8877653669c668c951 100644 (file)
@@ -1,7 +1,12 @@
+__doc__ = """
+    >>> f(1, (2,), (3,4,5), (6,(7,(8,9))), 0)
+    (8, 9, (8, 9), (6, (7, (8, 9))), 0)
+"""
+
 def f(obj1, obj2, obj3, obj4, obj5):
     obj1, = obj2
-    obj1, = obj2 + obj3
+    obj1, obj2 = obj2 + obj2
     obj1, obj2, obj3 = obj3
     obj1, (obj2, obj3) = obj4
     [obj1, obj2] = obj3
-    
\ No newline at end of file
+    return obj1, obj2, obj3, obj4, obj5