diff --git a/Orange/widgets/data/owmergedata.py b/Orange/widgets/data/owmergedata.py index 677f9de7d25..2b1796f2d12 100644 --- a/Orange/widgets/data/owmergedata.py +++ b/Orange/widgets/data/owmergedata.py @@ -369,7 +369,11 @@ def _join_table_by_indices(self, reduced_extra, indices): string_cols = [i for i, var in enumerate(domain.metas) if var.is_string] metas = self._join_array_by_indices( self.data.metas, reduced_extra.metas, indices, string_cols) - return Orange.data.Table.from_numpy(domain, X, Y, metas) + table = Orange.data.Table.from_numpy(domain, X, Y, metas) + table.name = getattr(self.data, 'name', '') + table.attributes = getattr(self.data, 'attributes', {}) + table.ids = self.data.ids + return table @staticmethod def _join_array_by_indices(left, right, indices, string_cols=None): diff --git a/Orange/widgets/data/tests/test_owmergedata.py b/Orange/widgets/data/tests/test_owmergedata.py index 5ab9c7875f0..dc3120704e9 100644 --- a/Orange/widgets/data/tests/test_owmergedata.py +++ b/Orange/widgets/data/tests/test_owmergedata.py @@ -32,7 +32,11 @@ def setUpClass(cls): yB = np.array([np.nan, 1, 0]) metasB = np.array([[np.nan], [1], [0]]).astype(object) cls.dataA = Table(domainA, XA, yA, metasA) + cls.dataA.name = 'dataA' + cls.dataA.attributes = 'dataA attributes' cls.dataB = Table(domainB, XB, yB, metasB) + cls.dataB.name = 'dataB' + cls.dataB.attributes = 'dataB attributes' def setUp(self): self.widget = self.create_widget(OWMergeData) @@ -231,7 +235,11 @@ def test_output_merge_by_attribute_left(self): self.widget.attr_augment_data = domainA[0] self.widget.attr_augment_extra = domainB[0] self.widget.commit() - self.assertTablesEqual(self.get_output(self.widget.Outputs.data), result) + output = self.get_output(self.widget.Outputs.data) + self.assertTablesEqual(output, result) + self.assertEqual(output.name, self.dataA.name) + np.testing.assert_array_equal(output.ids, self.dataA.ids) + self.assertEqual(output.attributes, self.dataA.attributes) def test_output_merge_by_attribute_inner(self): """Check output for merging option 'Find matching rows' by attribute"""