diff --git a/Orange/widgets/tests/base.py b/Orange/widgets/tests/base.py index 1399768c52d..0e15ba3365d 100644 --- a/Orange/widgets/tests/base.py +++ b/Orange/widgets/tests/base.py @@ -539,10 +539,12 @@ def test_outputs(self): self.same_input_output_domain) np.testing.assert_array_equal(selected.X[:, :n_attr], self.data.X[selected_indices]) + self.assertEqual(selected.attributes, self.data.attributes) # check annotated data output annotated = self.get_output(ANNOTATED_DATA_SIGNAL_NAME) self.assertEqual(n_sel, np.sum([i[feature_name] for i in annotated])) + self.assertEqual(annotated.attributes, self.data.attributes) # compare selected and annotated data domains self._compare_selected_annotated_domains(selected, annotated) diff --git a/Orange/widgets/utils/annotated_data.py b/Orange/widgets/utils/annotated_data.py index a5c6d1ae872..1f7d477d66e 100644 --- a/Orange/widgets/utils/annotated_data.py +++ b/Orange/widgets/utils/annotated_data.py @@ -41,5 +41,7 @@ def create_annotated_table(data, selected_indices): annotated = np.zeros((len(data), 1)) if selected_indices is not None: annotated[selected_indices] = 1 - return Table(domain, data.X, data.Y, - metas=np.hstack((data.metas, annotated))) + table = Table(domain, data.X, data.Y, + metas=np.hstack((data.metas, annotated))) + table.attributes = data.attributes + return table