extended switch test case
authorStefan Behnel <scoder@users.berlios.de>
Fri, 11 Jul 2008 14:20:46 +0000 (16:20 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Fri, 11 Jul 2008 14:20:46 +0000 (16:20 +0200)
tests/run/switch.pyx

index 7a6b18704755936eac2036c7dd667d4faed8ddde..da57451791324797b3fa7e3e15be2cb1747226c5 100644 (file)
@@ -1,4 +1,15 @@
 __doc__ = u"""
+>>> switch_simple_py(1)
+1
+>>> switch_simple_py(2)
+2
+>>> switch_simple_py(3)
+3
+>>> switch_simple_py(4)
+8
+>>> switch_simple_py(5)
+0
+
 >>> switch_py(1)
 1
 >>> switch_py(2)
@@ -11,7 +22,24 @@ __doc__ = u"""
 4
 >>> switch_py(6)
 0
+>>> switch_py(8)
+4
 >>> switch_py(10)
+7
+>>> switch_py(12)
+8
+>>> switch_py(13)
+0
+
+>>> switch_simple_c(1)
+1
+>>> switch_simple_c(2)
+2
+>>> switch_simple_c(3)
+3
+>>> switch_simple_c(4)
+8
+>>> switch_simple_c(5)
 0
 
 >>> switch_c(1)
@@ -26,10 +54,29 @@ __doc__ = u"""
 4
 >>> switch_c(6)
 0
+>>> switch_c(8)
+4
 >>> switch_c(10)
+7
+>>> switch_c(12)
+8
+>>> switch_c(13)
 0
 """
 
+def switch_simple_py(x):
+    if x == 1:
+        return 1
+    elif 2 == x:
+        return 2
+    elif x in [3]:
+        return 3
+    elif x in (4,):
+        return 8
+    else:
+        return 0
+    return -1
+
 def switch_py(x):
     if x == 1:
         return 1
@@ -39,6 +86,23 @@ def switch_py(x):
         return 3
     elif x in [4,5,7,8]:
         return 4
+    elif x in (10,11): # doesn't work:  (7,8,10,11)
+        return 7
+    elif x in (12,):
+        return 8
+    else:
+        return 0
+    return -1
+
+def switch_simple_c(int x):
+    if x == 1:
+        return 1
+    elif 2 == x:
+        return 2
+    elif x in [3]:
+        return 3
+    elif x in (4,):
+        return 8
     else:
         return 0
     return -1
@@ -52,6 +116,10 @@ def switch_c(int x):
         return 3
     elif x in [4,5,7,8]:
         return 4
+    elif x in (10,11): # doesn't work:  (7,8,10,11)
+        return 7
+    elif x in (12,):
+        return 8
     else:
         return 0
     return -1