1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
# ticket: t145
cimport cython
@cython.test_fail_if_path_exists('//BoolBinopNode')
def or_literal_bint():
"""
>>> True or 5
True
>>> or_literal_bint()
True
"""
return True or 5
@cython.test_fail_if_path_exists('//BoolBinopNode')
def and_literal_bint():
"""
>>> 5 and True
True
>>> and_literal_bint()
True
"""
return 5 and True
@cython.test_fail_if_path_exists('//BoolBinopNode')
def False_and_True_or_0():
"""
>>> False and True or 0
0
>>> False_and_True_or_0()
0
"""
return False and True or 0
@cython.test_fail_if_path_exists('//BoolBinopNode')
def True_and_True_or_0():
"""
>>> True and True or 0
True
>>> True_and_True_or_0()
True
"""
return True and True or 0
def x_and_True_or_False(x):
"""
>>> x_and_True_or_False(0)
False
>>> x_and_True_or_False(1)
True
>>> x_and_True_or_False('abc')
True
>>> x_and_True_or_False([])
False
"""
return x and True or False
def x_and_True_or_0(x):
"""
>>> 0 and True or 0
0
>>> x_and_True_or_0(0)
0
>>> 1 and True or 0
True
>>> x_and_True_or_0(1)
True
>>> x_and_True_or_0('abc')
True
>>> x_and_True_or_0([])
0
"""
return x and True or 0
def x_and_True_or_1(x):
"""
>>> 0 and True or 1
1
>>> x_and_True_or_1(0)
1
>>> 1 and True or 1
True
>>> x_and_True_or_1(1)
True
>>> x_and_True_or_1('abc')
True
>>> x_and_True_or_1([])
1
"""
return x and True or 1
def x_and_1_or_False(x):
"""
>>> 0 and 1 or False
False
>>> x_and_1_or_False(0)
False
>>> 1 and 1 or False
1
>>> x_and_1_or_False(1)
1
>>> x_and_1_or_False('abc')
1
>>> x_and_1_or_False([])
False
"""
return x and 1 or False
def test_large_int(unsigned long x):
"""
>>> try: test_large_int(1 << 127)
... except OverflowError: print(True)
True
>>> try: test_large_int(1 << 63)
... except OverflowError: print(True)
True
>>> try: test_large_int(1 << 48)
... except OverflowError: print(True)
True
>>> try: test_large_int(1 << 31)
... except OverflowError: print(True)
True
>>> test_large_int(0)
False
"""
if True and x:
return True
else:
return False
|