From 99e2c12beb32e4aa7b40813bd1638ba9b6dd0a1d Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Fri, 11 Jul 2008 16:20:46 +0200 Subject: [PATCH] extended switch test case --- tests/run/switch.pyx | 68 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/tests/run/switch.pyx b/tests/run/switch.pyx index 7a6b1870..da574517 100644 --- a/tests/run/switch.pyx +++ b/tests/run/switch.pyx @@ -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 -- 2.26.2