Example #1
0
def test_type_expr_to_cpp_simple_reference_to_const():
    expr = ref(const(X))
    assert type_expr_to_cpp_simple(expr) == 'X const  &'
Example #2
0
def test_type_expr_to_cpp_simple_type_member_access_pointer():
    expr = pointer(type_member_access(X, 'some_type'))
    assert type_expr_to_cpp_simple(expr) == 'typename X::some_type*'
Example #3
0
def test_type_expr_to_cpp_simple_member_access_as_arg_of_function_type():
    expr = fun(Y, [type_member_access(X, 'some_type')])
    assert type_expr_to_cpp_simple(expr) == 'Y (typename X::some_type)'
Example #4
0
def test_type_expr_to_cpp_simple_type_member_access():
    expr = type_member_access(X, 'some_type')
    assert type_expr_to_cpp_simple(expr) == 'typename X::some_type'
Example #5
0
def test_type_expr_to_cpp_simple_template_member_access():
    expr = tmp_instantiation(
        template_member_access(Y, 'some_type', num_args=2), [X1, X2])
    assert type_expr_to_cpp_simple(
        expr) == 'typename Y::template some_type<X1, X2>'
Example #6
0
def test_type_expr_to_cpp_simple_template_instantiation_with_function_type():
    MyTemplate = template('MyTemplate', num_args=1)
    expr = tmp_instantiation(MyTemplate, [fun(X1, [X2])])
    assert type_expr_to_cpp_simple(expr) == 'MyTemplate<X1 (X2)>'
Example #7
0
def test_type_expr_to_cpp_simple_template_instantiation_as_return_type_of_function_type(
):
    MyTemplate = template('MyTemplate', num_args=1)
    expr = fun(tmp_instantiation(MyTemplate, [X2]), [Y])
    assert type_expr_to_cpp_simple(expr) == 'MyTemplate<X2> (Y)'
Example #8
0
def test_type_expr_to_cpp_simple_function_type_two_args():
    expr = fun(Y, [X1, X2])
    assert type_expr_to_cpp_simple(expr) == 'Y (X1, X2)'
Example #9
0
def test_type_expr_to_cpp_simple_function_pointer():
    expr = pointer(fun(Y, [X1]))
    assert type_expr_to_cpp_simple(expr) == 'Y(*) (X1)'
Example #10
0
def test_type_expr_to_cpp_simple_function_type_no_args():
    expr = fun(Y, [])
    assert type_expr_to_cpp_simple(expr) == 'Y ()'
Example #11
0
def test_type_expr_to_cpp_simple_function_type_one_arg():
    expr = fun(Y, [X])
    assert type_expr_to_cpp_simple(expr) == 'Y (X)'
Example #12
0
def test_type_expr_to_cpp_simple_const_array_of_const():
    expr = const(array(const(X)))
    assert type_expr_to_cpp_simple(expr) == 'X const [] const '
Example #13
0
def test_type_expr_to_cpp_simple_const_array():
    expr = const(array(X))
    assert type_expr_to_cpp_simple(expr) == 'X[] const '
Example #14
0
def test_type_expr_to_cpp_simple_const_rvalue_reference_to_const():
    expr = const(rref(const(X)))
    assert type_expr_to_cpp_simple(expr) == 'X const  && const '
Example #15
0
def test_type_expr_to_cpp_simple_template_instantiation_no_args():
    MyTemplate = template('MyTemplate', num_args=0)
    expr = tmp_instantiation(MyTemplate, [])
    assert type_expr_to_cpp_simple(expr) == 'MyTemplate<>'
Example #16
0
def test_type_expr_to_cpp_simple_const_function_type():
    expr = const(fun(Y, [X1]))
    assert type_expr_to_cpp_simple(expr) == 'Y( const ) (X1)'
Example #17
0
def test_type_expr_to_cpp_simple_template_instantiation_one_arg():
    MyTemplate = template('MyTemplate', num_args=1)
    expr = tmp_instantiation(MyTemplate, [X])
    assert type_expr_to_cpp_simple(expr) == 'MyTemplate<X>'
Example #18
0
def test_type_expr_to_cpp_simple_function_type_rvalue_reference():
    expr = rref(fun(Y, [X1]))
    assert type_expr_to_cpp_simple(expr) == 'Y( &&) (X1)'
Example #19
0
def test_type_expr_to_cpp_simple_template_instantiation_as_arg_of_function_type(
):
    MyTemplate = template('MyTemplate', num_args=1)
    expr = fun(X1, [tmp_instantiation(MyTemplate, [X2])])
    assert type_expr_to_cpp_simple(expr) == 'X1 (MyTemplate<X2>)'
Example #20
0
def test_type_expr_to_cpp_simple_function_type_array():
    expr = array(fun(Y, [X1]))
    assert type_expr_to_cpp_simple(expr) == 'Y([]) (X1)'
Example #21
0
def test_type_expr_to_cpp_simple_template_instantiation_pointer():
    MyTemplate = template('MyTemplate', num_args=2)
    expr = pointer(tmp_instantiation(MyTemplate, [X1, X2]))
    assert type_expr_to_cpp_simple(expr) == 'MyTemplate<X1, X2>*'
Example #22
0
def test_type_expr_to_cpp_simple_function_returning_function():
    expr = funptr(funptr(funptr(funptr(Y, [X1]), [X2]), [X3]), [X4])
    assert type_expr_to_cpp_simple(expr) == 'Y(*(*(*(*) (X4)) (X3)) (X2)) (X1)'
Example #23
0
def test_type_expr_to_cpp_simple_type_member_access_nested():
    expr = type_member_access(type_member_access(X, 'some_type'), 'other_type')
    assert type_expr_to_cpp_simple(expr) == 'typename X::some_type::other_type'
Example #24
0
def test_type_expr_to_cpp_simple_function_returning_const_function():
    expr = funptr(const(funptr(Y, [X1])), [X2])
    assert type_expr_to_cpp_simple(expr) == 'Y(* const (*) (X2)) (X1)'
Example #25
0
def test_type_expr_to_cpp_simple_member_access_on_template():
    MyTemplate = template('MyTemplate', num_args=2)
    expr = type_member_access(tmp_instantiation(MyTemplate, [X1, X2]),
                              'some_type')
    assert type_expr_to_cpp_simple(
        expr) == 'typename MyTemplate<X1, X2>::some_type'
Example #26
0
def test_type_expr_to_cpp_simple_function_with_function_arg():
    expr = funptr(X1, [funptr(X2, [funptr(X3, [funptr(X4, [Y])])])])
    assert type_expr_to_cpp_simple(expr) == 'X1(*) (X2(*) (X3(*) (X4(*) (Y))))'
Example #27
0
def test_type_expr_to_cpp_simple_int_member_access():
    expr = int_member_access(X, 'some_number')
    assert type_expr_to_cpp_simple(expr) == 'X::some_number'
Example #28
0
def test_type_expr_to_cpp_simple_function_with_const_function_arg():
    expr = funptr(X1, [const(funptr(X2, [Y]))])
    assert type_expr_to_cpp_simple(expr) == 'X1(*) (X2(* const ) (Y))'
Example #29
0
def test_type_expr_to_cpp_simple_member_access_as_return_type_of_function_type(
):
    expr = fun(type_member_access(X, 'some_type'), [Y])
    assert type_expr_to_cpp_simple(expr) == 'typename X::some_type (Y)'
Example #30
0
def test_type_expr_to_cpp_simple_const_reference():
    expr = const(ref(X))
    assert type_expr_to_cpp_simple(expr) == 'X & const '