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
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"])
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'])
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
def build_data_inst(input_dict): for data_id, data in input_dict.items(): global_state.set_data(data_id, data)