def test_apply_sort_with_one_order_metric_asc(self): paginated = paginate( dimx2_date_str_df, [mock_table_widget], orders=[(mock_metric_definition, Order.asc)], ) expected = dimx2_date_str_df.sort_values( by=[mock_metric_definition.alias], ascending=True) assert_frame_equal(expected, paginated)
def test_apply_sort_with_one_order_dimension_desc(self): paginated = paginate( dimx2_date_str_df, [mock_chart_widget], orders=[(mock_dimension_definition, Order.desc)], ) expected = dimx2_date_str_df.sort_values( by=[TS, mock_dimension_definition.alias], ascending=(True, False)) assert_frame_equal(expected, paginated)
def test_apply_sort_before_slice(self): paginated = paginate( dimx2_date_str_df, [mock_table_widget], orders=[(mock_metric_definition, Order.asc)], limit=5, offset=5, ) expected = dimx2_date_str_df.sort_values( by=[mock_metric_definition.alias], ascending=True)[5:10] assert_frame_equal(expected, paginated)
def test_apply_sort_with_multiple_orders(self): paginated = paginate( dimx2_date_str_df, [mock_table_widget], orders=[ (mock_dimension_definition, Order.asc), (mock_metric_definition, Order.desc), ], ) expected = dimx2_date_str_df.sort_values( by=[mock_dimension_definition.alias, mock_metric_definition.alias], ascending=[True, False], ) assert_frame_equal(expected, paginated)