Exemplo n.º 1
0
def test_build_data_id():
    import dtale.global_state as global_state

    global_state.cleanup()
    assert global_state.build_data_id() == 1

    df = pd.DataFrame([1, 2, 3, 4, 5])
    data = {str(idx + 1): df for idx in range(10)}
    for k, v in data.items():
        global_state.set_data(k, v)
    assert global_state.build_data_id() == 11
Exemplo n.º 2
0
def initialize_store(test_data):
    """Helper function that sets up a default store with some data in it"""
    global_state.cleanup()
    global_state.use_default_store()
    for data_id in ["1", "2"]:
        global_state.set_data(data_id, test_data)
        global_state.set_dtypes(data_id, build_dtypes_state(test_data))
        global_state.set_settings(data_id, dict(locked=[]))
        global_state.set_name(data_id, "test_name" + data_id)
        global_state.set_context_variables(
            data_id, dict(favorite_words=["foo", "bar", "baz"]))
        global_state.set_history(data_id, ["foo", "bar", "baz"])
Exemplo n.º 3
0
def initialize_store(test_data):
    """Helper function that sets up a default store with some data in it"""
    global_state.cleanup()
    global_state.use_default_store()
    for data_id in ['1', '2']:
        global_state.set_data(data_id, test_data)
        global_state.set_dtypes(data_id, build_dtypes_state(test_data))
        global_state.set_settings(data_id, dict(locked=[]))
        global_state.set_metadata(data_id, dict(name='test_name'))
        global_state.set_context_variables(
            data_id, dict(favorite_words=['foo', 'bar', 'baz']))
        global_state.set_history(data_id, ['foo', 'bar', 'baz'])
Exemplo n.º 4
0
def test_set_filters(unittest):
    filters = []
    df = pd.DataFrame(
        ([[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18]
          ]),
        columns=["A", "B", "C", "D", "E", "F"],
    )
    with ExitStack() as stack:
        stack.enter_context(
            mock.patch("dtale.predefined_filters.PREDEFINED_FILTERS", filters))
        predefined_filters.set_filters([
            {
                "name": "A and B > 2",
                "column": "A",
                "description": "Filter A with B greater than 2",
                "handler": lambda df, val: df[
                    (df["A"] == val) & (df["B"] > 2)],
                "input_type": "input",
            },
            {
                "name":
                "A and (B % 2) == 0",
                "column":
                "A",
                "description":
                "Filter A with B mod 2 equals zero (is even)",
                "handler":
                lambda df, val: df[(df["A"] == val) & (df["B"] % 2 == 0)],
                "input_type":
                "select",
            },
            {
                "name":
                "A in values and (B % 2) == 0",
                "column":
                "A",
                "description":
                "A is within a group of values and B mod 2 equals zero (is even)",
                "handler":
                lambda df, val: df[df["A"].isin(val) & (df["B"] % 2 == 0)],
                "input_type":
                "multiselect",
            },
        ])

        assert len(predefined_filters.get_filters()[0].handler(df, 1)) == 0
        assert len(predefined_filters.get_filters()[0].handler(df, 7)) == 1
        unittest.assertEqual(
            predefined_filters.get_filters()[0].asdict(),
            {
                "name": "A and B > 2",
                "column": "A",
                "description": "Filter A with B greater than 2",
                "inputType": "input",
            },
        )

        assert len(predefined_filters.get_filters()[1].handler(df, 1)) == 1
        assert len(predefined_filters.get_filters()[1].handler(df, 7)) == 1

        assert len(predefined_filters.get_filters()[2].handler(df, [1])) == 1
        assert len(predefined_filters.get_filters()[2].handler(df,
                                                               [1, 7])) == 2

        global_state.set_data("1", df)
        assert len(handle_predefined("1")) == 3

        global_state.set_settings("1",
                                  dict(predefinedFilters={"A and B > 2": 7}))
        assert len(handle_predefined("1")) == 1
Exemplo n.º 5
0
def build_data_inst(input_dict):
    for data_id, data in input_dict.items():
        global_state.set_data(data_id, data)