# Path: databuild/settings.py
# ADAPTER = 'databuild.adapters.locmem.models.LocMemBook'
# FUNCTION_MODULES = (
#     'databuild.functions.data',
# )
# LANGUAGES = {
#     'python': 'databuild.environments.python.PythonEnvironment',
# }
# OPERATION_MODULES = (
#     "databuild.operations.sheets",
#     "databuild.operations.columns",
#     "databuild.operations.operations",
#     "databuild.operations.system",
# )
# 
# Path: databuild/adapters/locmem/models.py
# class LocMemBook(BaseWorkBook):
#     sheet_class = LocMemSheet


import os
from unittest import TestCase
from databuild import settings
from databuild.adapters.locmem.models import LocMemBook
        sheet_a.append_column("test column")
        book.apply_operation(operation)
        assert sheet_a.get_column('test column') == [3, 5, 7]

    def test_cross_function(self):
        operation = {
            "operation": "columns.update_column",
            "description": "",
            "params": {
                "sheet": "a",
                "column": "test column",
                "facets": [],
                "expression": {
                    "language": "python",
                    "content": "return cross(row, 'b', 'z', 'id')"
                }
            }
        }

        a_data = [
            {'id': 1, 'x': 2, 'y': 3},
            {'id': 2, 'x': 2, 'y': 3.5},
            {'id': 3, 'x': 1, 'y': 3.5},
        ]
        b_data = [
            {'id': 3, 'z': 3},
            {'id': 1, 'z': 4},
            {'id': 2, 'z': 4.5},
        ]


# Path: databuild/settings.py
# ADAPTER = 'databuild.adapters.locmem.models.LocMemBook'
# FUNCTION_MODULES = (
#     'databuild.functions.data',
# )
# LANGUAGES = {
#     'python': 'databuild.environments.python.PythonEnvironment',
# }
# OPERATION_MODULES = (
#     "databuild.operations.sheets",
#     "databuild.operations.columns",
#     "databuild.operations.operations",
#     "databuild.operations.system",
# )
# 
# Path: databuild/adapters/locmem/models.py
# class LocMemBook(BaseWorkBook):
#     sheet_class = LocMemSheet


# Path: databuild/tests/test_operator.py
import os
from unittest import TestCase
from databuild import settings
from databuild.adapters.locmem.models import LocMemBook

        sheet_a.append_column("test column")
        book.apply_operation(operation)
        assert sheet_a.get_column('test column') == [3, 5, 7]

    def test_cross_function(self):
        operation = {
            "operation": "columns.update_column",
            "description": "",
            "params": {
                "sheet": "a",
                "column": "test column",
                "facets": [],
                "expression": {
                    "language": "python",
                    "content": "return cross(row, 'b', 'z', 'id')"
                }
            }
        }

        a_data = [
            {'id': 1, 'x': 2, 'y': 3},
            {'id': 2, 'x': 2, 'y': 3.5},
            {'id': 3, 'x': 1, 'y': 3.5},
        ]
        b_data = [
            {'id': 3, 'z': 3},
            {'id': 1, 'z': 4},
            {'id': 2, 'z': 4.5},
        ]


        book = LocMemBook('project1')