Esempio n. 1
0
def test_data_object_generation(dataframe: pd.DataFrame) -> None:
    data_object = DataGrid.generate_data_object(dataframe, "ipydguuid", "key")
    expected_output = {
        "data": [
            {"key": "One", "A": 1, "B": 4, "ipydguuid": 0},
            {"key": "Two", "A": 2, "B": 5, "ipydguuid": 1},
            {"key": "Three", "A": 3, "B": 6, "ipydguuid": 2},
        ],
        "schema": {
            "fields": [
                {"name": "key", "type": "string"},
                {"name": "A", "type": "integer"},
                {"name": "B", "type": "integer"},
                {"name": "ipydguuid", "type": "integer"},
            ],
            "primaryKey": ["key", "ipydguuid"],
            "pandas_version": "0.20.0",
            "primaryKeyUuid": "ipydguuid",
        },
        "fields": [
            {"key": None},
            {"A": None},
            {"B": None},
            {"ipydguuid": None},
        ],
    }

    assert data_object == expected_output
Esempio n. 2
0
def test_default_dataframe_index(dataframe):
    # Setting a custom index name
    grid = DataGrid(dataframe)

    # Making sure index_name is set
    assert grid._index_name is None

    # Generate primary key schema object
    index_key = grid.get_dataframe_index(dataframe)
    data_obj = grid.generate_data_object(dataframe, "ipydguuid", index_key)

    # Default and unused keys should not be in schema
    assert "key" in data_obj["schema"]["primaryKey"]
Esempio n. 3
0
def test_user_defined_index_name(dataframe):
    # Setting a custom index name
    dataframe.index.name = "unused_index"
    grid = DataGrid(dataframe, index_name="custom_index")

    # Making sure index_name is set
    assert grid._index_name is not None

    # Checking index name matches DataFrame retrieved from grid
    index_key = grid.get_dataframe_index(dataframe)
    data_obj = grid.generate_data_object(dataframe, "ipydguuid", index_key)

    # Default and unused keys should not be in schema
    assert "key" not in data_obj["schema"]["primaryKey"]
    assert "unused_index" not in data_obj["schema"]["primaryKey"]

    # User defined key should be in primary key schema
    assert "custom_index" in data_obj["schema"]["primaryKey"]
Esempio n. 4
0
def data_object(dataframe) -> None:
    return DataGrid.generate_data_object(dataframe, "ipydguuid", "key")