|
Packit |
562c7a |
|
|
Packit |
562c7a |
cimport cython
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
module_level_tuple = (1,2,3)
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def return_module_level_tuple():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> return_module_level_tuple()
|
|
Packit |
562c7a |
(1, 2, 3)
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
return module_level_tuple
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
@cython.test_assert_path_exists("//TupleNode",
|
|
Packit |
562c7a |
"//TupleNode[@is_literal = true]")
|
|
Packit |
562c7a |
@cython.test_fail_if_path_exists("//TupleNode[@is_literal = false]")
|
|
Packit |
562c7a |
def return_empty_tuple():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> return_empty_tuple()
|
|
Packit |
562c7a |
()
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
return ()
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
@cython.test_assert_path_exists("//TupleNode",
|
|
Packit |
562c7a |
"//TupleNode[@is_literal = true]")
|
|
Packit |
562c7a |
@cython.test_fail_if_path_exists("//TupleNode[@is_literal = false]")
|
|
Packit |
562c7a |
def return_constant_tuple1():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> return_constant_tuple1()
|
|
Packit |
562c7a |
(1,)
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
return (1,)
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
@cython.test_assert_path_exists("//TupleNode",
|
|
Packit |
562c7a |
"//TupleNode[@is_literal = true]")
|
|
Packit |
562c7a |
@cython.test_fail_if_path_exists("//TupleNode[@is_literal = false]")
|
|
Packit |
562c7a |
def return_folded_tuple():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> return_folded_tuple()
|
|
Packit |
562c7a |
(1, 2, 3)
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
return (1, 1+1, 1+1+1)
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
@cython.test_assert_path_exists("//TupleNode",
|
|
Packit |
562c7a |
"//TupleNode[@is_literal = true]")
|
|
Packit |
562c7a |
@cython.test_fail_if_path_exists("//TupleNode[@is_literal = false]")
|
|
Packit |
562c7a |
def return_nested_tuple():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> return_nested_tuple()
|
|
Packit |
562c7a |
(1, (2, 3), (3, (4, 5)))
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
return (1, (2, 3), (3, (4, 5)))
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
@cython.test_assert_path_exists("//TupleNode",
|
|
Packit |
562c7a |
"//TupleNode[@is_literal = true]")
|
|
Packit |
562c7a |
@cython.test_fail_if_path_exists("//TupleNode[@is_literal = false]")
|
|
Packit |
562c7a |
def constant_tuple1():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> constant_tuple1()
|
|
Packit |
562c7a |
(1,)
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
tuple1 = (1,)
|
|
Packit |
562c7a |
return tuple1
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
@cython.test_assert_path_exists("//TupleNode",
|
|
Packit |
562c7a |
"//TupleNode[@is_literal = true]")
|
|
Packit |
562c7a |
@cython.test_fail_if_path_exists("//TupleNode[@is_literal = false]")
|
|
Packit |
562c7a |
def return_constant_tuple2():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> return_constant_tuple2()
|
|
Packit |
562c7a |
(1, 2)
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
return (1,2)
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
@cython.test_assert_path_exists("//TupleNode",
|
|
Packit |
562c7a |
"//TupleNode[@is_literal = true]")
|
|
Packit |
562c7a |
@cython.test_fail_if_path_exists("//TupleNode[@is_literal = false]")
|
|
Packit |
562c7a |
def return_constant_tuple_strings():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> return_constant_tuple_strings()
|
|
Packit |
562c7a |
('tuple_1', 'bc', 'tuple_2')
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
return ('tuple_1', 'bc', 'tuple_2')
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
@cython.test_assert_path_exists("//TupleNode",
|
|
Packit |
562c7a |
"//TupleNode[@is_literal = true]")
|
|
Packit |
562c7a |
@cython.test_fail_if_path_exists("//TupleNode[@is_literal = false]")
|
|
Packit |
562c7a |
def return_constant_tuples_string_types():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> a,b,c = return_constant_tuples_string_types()
|
|
Packit |
562c7a |
>>> a is b
|
|
Packit |
562c7a |
False
|
|
Packit |
562c7a |
>>> a is c
|
|
Packit |
562c7a |
False
|
|
Packit |
562c7a |
>>> b is c
|
|
Packit |
562c7a |
False
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
return ('a', 'bc'), (u'a', u'bc'), (b'a', b'bc')
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
@cython.test_assert_path_exists("//ReturnStatNode//TupleNode",
|
|
Packit |
562c7a |
"//ReturnStatNode//TupleNode[@is_literal = false]")
|
|
Packit |
562c7a |
@cython.test_fail_if_path_exists("//ReturnStatNode//TupleNode[@is_literal = true]")
|
|
Packit |
562c7a |
def return_nonconstant_tuple():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> return_nonconstant_tuple()
|
|
Packit |
562c7a |
('a', 1, 'd')
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
a = eval("1")
|
|
Packit |
562c7a |
return ('a', a, 'd')
|