diff --git a/test/model/test_base.py b/test/model/test_base.py index dc0a59ad2ed40e52a930ca975c51f4a497b01dd0..03466797586ac2cadcd4d03e512b15804f9a3e50 100644 --- a/test/model/test_base.py +++ b/test/model/test_base.py @@ -16,6 +16,7 @@ from typing import Optional, List from aas import model from aas.backend import backends from aas.model import Identifier, Identifiable +from aas.examples.data import example_aas class KeyTest(unittest.TestCase): @@ -265,6 +266,30 @@ class ReferableTest(unittest.TestCase): relative_path=[]) ]) + def test_update_from(self): + example_submodel = example_aas.create_example_submodel() + example_relel = example_submodel.get_referable('ExampleRelationshipElement') + + other_submodel = example_aas.create_example_submodel() + other_relel = other_submodel.get_referable('ExampleRelationshipElement') + + other_submodel.category = "NewCat" + other_relel.category = "NewRelElCat" + + # Test basic functionality + example_submodel.update_from(other_submodel) + self.assertEqual("NewCat", example_submodel.category) + self.assertEqual("NewRelElCat", example_relel.category) + + # Test source update + example_relel.source = "scheme:OldRelElSource" + other_submodel.source = "scheme:NewSource" + other_relel.source = "scheme:NewRelElSource" + + example_submodel.update_from(other_submodel, update_source=True) + self.assertEqual("scheme:NewSource", example_submodel.source) + self.assertEqual("scheme:OldRelElSource", example_relel.source) + class ExampleNamespace(model.Namespace): def __init__(self, values=()):