Blame tests/run/tuple_constants.pyx

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')