From 355e708bef06b8a40e30c471acbaf15aedc5bb71 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Thu, 29 Apr 2010 08:35:35 +0200 Subject: [PATCH] extended test case --- tests/run/if_const.pyx | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/tests/run/if_const.pyx b/tests/run/if_const.pyx index 00c14f4d..b8ca34ad 100644 --- a/tests/run/if_const.pyx +++ b/tests/run/if_const.pyx @@ -3,6 +3,11 @@ cimport cython DEF INT_VAL = 1 +def _not_constant_but_False(): + return False + +@cython.test_fail_if_path_exists("//PrimaryCmpNode", + "//IfStatNode") def int_bool_result(): """ >>> int_bool_result() @@ -13,6 +18,61 @@ def int_bool_result(): else: return False +@cython.test_fail_if_path_exists("//IfStatNode") +def constant_if_elif_else(): + """ + >>> constant_if_elif_else() + True + """ + if 0: + return False + elif 5: + return True + else: + return False + +@cython.test_fail_if_path_exists("//PrintStatNode") +@cython.test_assert_path_exists("//IfStatNode", + "//IfClauseNode") +def non_constant_if_elif_else1(): + """ + >>> non_constant_if_elif_else1() + True + """ + if _not_constant_but_False(): + return False + elif 5: + return True + else: + print(False) + +@cython.test_fail_if_path_exists("//PrintStatNode") +@cython.test_assert_path_exists("//IfStatNode", + "//IfClauseNode") +def non_constant_if_elif_else2(): + """ + >>> non_constant_if_elif_else2() + True + """ + if _not_constant_but_False(): + return False + elif 0: + print(False) + else: + return True + +@cython.test_fail_if_path_exists("//PrimaryCmpNode", + "//IfStatNode") +def if_not_compare_true(): + """ + >>> if_not_compare_true() + False + """ + if not 0 == 0: + return True + else: + return False + @cython.test_fail_if_path_exists("//PrimaryCmpNode", "//IfStatNode") def if_compare_true(): -- 2.26.2