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()]
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
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
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())