def test_copy_io_from_parent_with_structure(self): cdt = CompoundDatatype() min_row = 1 max_row = 100 structure = XputStructure(compounddatatype=cdt, min_row=min_row, max_row=max_row) parent = self.create_parent() def get_structure(xput_self): if xput_self.dataset_idx == 1: return structure # noinspection PyUnresolvedReferences raise XputStructure.DoesNotExist TransformationXput.structure = property(get_structure) expected_inputs = {inp.dataset_idx for inp in parent.inputs} expected_outputs = {out.dataset_idx for out in parent.outputs} foo = Method(revision_parent=parent) foo.copy_io_from_parent() self.assertEqual(expected_inputs, {inp.dataset_idx for inp in foo.inputs}) self.assertEqual(expected_outputs, {out.dataset_idx for out in foo.outputs}) # noinspection PyUnresolvedReferences create_args = XputStructure.objects.create.call_args_list # @UndefinedVariable self.assertEqual(2, len(create_args)) _args, kwargs = create_args[0] self.assertEqual(100, kwargs['max_row'])
def test_copy_io_from_no_parent(self): foo = Method() foo.copy_io_from_parent() self.assertEqual(set(), {inp.dataset_idx for inp in foo.inputs}) self.assertEqual(set(), {out.dataset_idx for out in foo.outputs})
def test_copy_io_from_parent(self): parent = self.create_parent() expected_inputs = {inp.dataset_idx for inp in parent.inputs} expected_outputs = {out.dataset_idx for out in parent.outputs} foo = Method(revision_parent=parent) foo.copy_io_from_parent() self.assertEqual(expected_inputs, {inp.dataset_idx for inp in foo.inputs}) self.assertEqual(expected_outputs, {out.dataset_idx for out in foo.outputs})