diff options
Diffstat (limited to 'tests/functional/t/ternary.py')
| -rw-r--r-- | tests/functional/t/ternary.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/functional/t/ternary.py b/tests/functional/t/ternary.py new file mode 100644 index 000000000..835eb73cf --- /dev/null +++ b/tests/functional/t/ternary.py @@ -0,0 +1,33 @@ +"""Test for old tenrary constructs""" +from UNINFERABLE import condition, true_value, false_value, some_callable # pylint: disable=import-error + +SOME_VALUE1 = true_value if condition else false_value +SOME_VALUE2 = condition and true_value or false_value # [consider-using-ternary] +SOME_VALUE3 = condition + +def func1(): + """Ternary return value correct""" + return true_value if condition else false_value + + +def func2(): + """Ternary return value incorrect""" + return condition and true_value or false_value # [consider-using-ternary] + + +SOME_VALUE4 = some_callable(condition) and 'ERROR' or 'SUCCESS' # [consider-using-ternary] +SOME_VALUE5 = SOME_VALUE1 > 3 and 'greater' or 'not greater' # [consider-using-ternary] +SOME_VALUE6 = (SOME_VALUE2 > 4 and SOME_VALUE3) and 'both' or 'not' # [consider-using-ternary] +SOME_VALUE7 = 'both' if (SOME_VALUE2 > 4) and (SOME_VALUE3) else 'not' +SOME_VALUE8 = SOME_VALUE1 and SOME_VALUE2 and SOME_VALUE3 or SOME_VALUE4 +SOME_VALUE9 = SOME_VALUE1 and False or SOME_VALUE2 # [simplify-boolean-expression] + +YEAR = 1992 +# Cannot be simplified with a ternary. +IS_LEAP_YEAR = YEAR % 4 == 0 and YEAR % 100 != 0 or YEAR % 400 == 0 + + +def func4(): + """"Using a Name as a condition but still emits""" + truth_value = 42 + return condition and truth_value or false_value # [consider-using-ternary] |
