Example #1
0
def test_objects_assertion_single_entity(patch, tree):
    """
    Ensures that Objects.assertion handles single entities
    """
    patch.many(Objects, ['expression'])
    Objects.expression.return_value = True
    result = Objects.assertion(tree)
    Objects.expression.assert_called_with(tree.expression)
    assert result == [Objects.expression()]
Example #2
0
def test_objects_assertion(patch, tree):
    patch.many(Objects, ['expression'])
    result = Objects.assertion(tree)
    Objects.expression.assert_called_with(tree.expression)
    expected = [{
        '$OBJECT': 'assertion',
        'assertion': Objects.expression()['expression'],
        'values': Objects.expression()['values']
    }]
    assert result == expected
Example #3
0
def test_objects_assertion(patch, tree):
    patch.many(Objects, ['entity', 'values', 'expression_type'])
    result = Objects.assertion(tree)
    Objects.entity.assert_called_with(tree.entity)
    Objects.values.assert_called_with(tree.child().child())
    Objects.expression_type.assert_called_with(tree.child().child(), tree)
    expected = [{
        '$OBJECT': 'assertion',
        'assertion': Objects.expression_type(),
        'values': [Objects.entity(), Objects.values()]
    }]
    assert result == expected
Example #4
0
def test_compiler_elseif_block(patch, compiler, lines, tree):
    patch.object(Objects, 'assertion')
    patch.object(Compiler, 'subtree')
    compiler.elseif_block(tree, '1')
    lines.set_exit.assert_called_with(tree.line())
    Objects.assertion.assert_called_with(tree.elseif_statement)
    args = Objects.assertion()
    lines.set_scope.assert_called_with(tree.line(), '1')
    lines.append.assert_called_with('elif',
                                    tree.line(),
                                    args=args,
                                    enter=tree.nested_block.line(),
                                    parent='1')
    compiler.subtree.assert_called_with(tree.nested_block, parent=tree.line())