Ejemplo n.º 1
0
def test_function_expression_get_required_variables_when_in_context_str_var():
    context = Context()
    context.currentContext["name"] = "Atmaram"
    fun_e = FunctionExpression(join, [VariableExpression("name").of_type(str)])
    val = fun_e.get_required_variables(context)
    assert type(val) == MapVariable
    assert len(val.variable_map) == 0
Ejemplo n.º 2
0
def test_function_expression_get_required_variables_when_in_context_int_var():
    context = Context()
    context.currentContext["name"] = 123
    fun_e = FunctionExpression(add, [VariableExpression("name").of_type(int)])
    val = fun_e.get_required_variables(context)
    assert type(val) == MapVariable
    assert len(val.variable_map) == 0
Ejemplo n.º 3
0
def test_function_expression_fill_with_strings():
    context = Context()
    context.currentContext["name"] = "Atmaram"
    context.currentContext["place"] = "Pune"
    fun_e = FunctionExpression(
        join, [VariableExpression("name").of_type(str)]).with_argument(
            VariableExpression("place").of_type(str))
    val = fun_e.fill(context)
    assert val.value == "AtmaramPune"
Ejemplo n.º 4
0
def test_function_expression_get_required_variables_when_not_in_context_str_var(
):
    context = Context()
    fun_e = FunctionExpression(join, [VariableExpression("name").of_type(str)])
    val = fun_e.get_required_variables(context)
    assert type(val) == MapVariable
    assert 'name' in val.variable_map
    var = val.variable_map['name']
    assert type(var) == ValueHolderVariable
    assert var.valueHolderClass == StringHolder
Ejemplo n.º 5
0
def test_function_add_expression_fill_with_integer_and_string():
    context = Context()
    context.currentContext["name"] = 123
    context.currentContext["place"] = '123'
    fun_e = FunctionExpression(add, [
        VariableExpression("name").of_type(int),
        VariableExpression("place").of_type(str)
    ])
    val = fun_e.fill(context)
    assert val.value == "123123"
Ejemplo n.º 6
0
def test_function_expression_fill_with_string_and_integer():
    context = Context()
    context.currentContext["name"] = "Atmaram"
    context.currentContext["place"] = 123
    fun_e = FunctionExpression(join, [
        VariableExpression("name").of_type(str),
        VariableExpression("place").of_type(int)
    ])
    val = fun_e.fill(context)
    assert val.value == "Atmaram123"
Ejemplo n.º 7
0
def fun(operation, *expressions):
    return FunctionExpression(operation, expressions)