def test_compute__multiple_df_set_names(global_mock_summary_df, global_mock_aggregate_summary_dfs): inspector = InspectorShap(model=MockModel(), algotype='kmeans', cluster_probability=False) inspector.hasmultiple_dfs = True inspector.set_names = ['suf1', 'suf2'] report_value = global_mock_summary_df inspector.agg_summary_dfs = global_mock_aggregate_summary_dfs expected_result = pd.DataFrame([[1, 2, 3, 2], [2, 3, 3, 3]], columns=[ 'cluster_id', 'column_a', 'column_a_suf1', 'column_a_suf2' ]) def mock_compute_report(self): self.agg_summary_df = report_value with patch.object(InspectorShap, '_compute_report', mock_compute_report): output = inspector.compute() # Check output and side effects pd.testing.assert_frame_equal(output, expected_result) pd.testing.assert_frame_equal(inspector.cluster_report, expected_result) pd.testing.assert_frame_equal(inspector.agg_summary_df, report_value)
def test_compute__multiple_df(global_mock_summary_df, global_mock_aggregate_summary_dfs): inspector = InspectorShap(model=MockModel(), algotype="kmeans", cluster_probability=False) inspector.hasmultiple_dfs = True report_value = global_mock_summary_df inspector.agg_summary_dfs = global_mock_aggregate_summary_dfs expected_result = pd.DataFrame([[1, 2, 3, 2], [2, 3, 3, 3]], columns=[ "cluster_id", "column_a", "column_a_sample_1", "column_a_sample_2" ]) def mock_compute_report(self): self.agg_summary_df = report_value with patch.object(InspectorShap, "_compute_report", mock_compute_report): output = inspector.compute() # Check output and side effects pd.testing.assert_frame_equal(output, expected_result) pd.testing.assert_frame_equal(inspector.cluster_report, expected_result) pd.testing.assert_frame_equal(inspector.agg_summary_df, report_value)