coverage.py v7.6.9, - created at 2024-12-18 14:50 +0000 + created at 2024-12-19 23:46 +0000
diff --git a/UnitTests/OTLFieldTests/CustomFields/NaamField_test.py b/UnitTests/OTLFieldTests/CustomFields/NaamField_test.py index c23af7a55..c22b0e8de 100644 --- a/UnitTests/OTLFieldTests/CustomFields/NaamField_test.py +++ b/UnitTests/OTLFieldTests/CustomFields/NaamField_test.py @@ -1,8 +1,29 @@ import pytest - +from otlmow_model.OtlmowModel.BaseClasses.OTLObject import OTLAttribuut from otlmow_model.OtlmowModel.Classes.ImplementatieElement.AIMNaamObject import NaamField +class NaamClass: + def __init__(self): + super().__init__() + + self._naam = OTLAttribuut(field=NaamField, + naam='naam', + label='naam', + objectUri='https://wegenenverkeer.data.vlaanderen.be/ns/implementatieelement#AIMNaamObject.naam', + definition='De mensleesbare naam van een asset zoals dit bv. ook terug te vinden is op een etiket op het object zelf. De assetbeheerder kent deze naam toe of geeft de opdracht om deze toe te kennen. Indien een object een algemeen gangbare naam heeft zoals bv. bij een waterloop dan wordt deze gebruikt.', + owner=self) + + @property + def naam(self) -> str: + """De mensleesbare naam van een asset zoals dit bv. ook terug te vinden is op een etiket op het object zelf. De assetbeheerder kent deze naam toe of geeft de opdracht om deze toe te kennen. Indien een object een algemeen gangbare naam heeft zoals bv. bij een waterloop dan wordt deze gebruikt.""" + return self._naam.get_waarde() + + @naam.setter + def naam(self, value): + self._naam.set_waarde(value, owner=self) + + @pytest.mark.parametrize("value, expected, id", [ ("validName123", True, "valid_alphanumeric"), ("valid.name-123", True, "valid_with_special_chars"), @@ -11,5 +32,5 @@ ("invalid name!", False, "invalid_with_space_and_exclamation"), ("invalid@name", False, "invalid_with_at_symbol")]) def test_validate(value, expected, id): - result = NaamField.validate(value, None) + result = NaamField.validate(value, NaamClass()._naam) assert result == expected, f"Test case '{id}' failed: expected {expected} but got {result}" diff --git a/UnitTests/OTLFieldTests/CustomFields/NaampadField_test.py b/UnitTests/OTLFieldTests/CustomFields/NaampadField_test.py new file mode 100644 index 000000000..ef9576229 --- /dev/null +++ b/UnitTests/OTLFieldTests/CustomFields/NaampadField_test.py @@ -0,0 +1,85 @@ +import pytest +import re +from otlmow_model.OtlmowModel.BaseClasses.OTLObject import OTLAttribuut + +from otlmow_model.OtlmowModel.Classes.ImplementatieElement.AIMNaamObject import NaamField +from otlmow_model.OtlmowModel.Classes.ImplementatieElement.NaampadObject import NaampadField + + +class NaampadClass: + def __init__(self): + super().__init__() + + self._naam = OTLAttribuut(field=NaamField, + naam='naam', + label='naam', + objectUri='https://wegenenverkeer.data.vlaanderen.be/ns/implementatieelement#AIMNaamObject.naam', + definition='De mensleesbare naam van een asset zoals dit bv. ook terug te vinden is op een etiket op het object zelf. De assetbeheerder kent deze naam toe of geeft de opdracht om deze toe te kennen. Indien een object een algemeen gangbare naam heeft zoals bv. bij een waterloop dan wordt deze gebruikt.', + owner=self) + + self._naampad = OTLAttribuut(field=NaampadField, + naam='naampad', + label='naampad', + objectUri='https://wegenenverkeer.data.vlaanderen.be/ns/implementatieelement' + '#AIMNaamObject.naampad', + definition='De mensleesbare naam van een asset zoals dit bv. ook terug te vinden is op een etiket op het object zelf. De assetbeheerder kent deze naam toe of geeft de opdracht om deze toe te kennen. Indien een object een algemeen gangbare naam heeft zoals bv. bij een waterloop dan wordt deze gebruikt.', + owner=self) + + @property + def naam(self) -> str: + """De mensleesbare naam van een asset zoals dit bv. ook terug te vinden is op een etiket op het object zelf. De assetbeheerder kent deze naam toe of geeft de opdracht om deze toe te kennen. Indien een object een algemeen gangbare naam heeft zoals bv. bij een waterloop dan wordt deze gebruikt.""" + return self._naam.get_waarde() + + @naam.setter + def naam(self, value): + self._naam.set_waarde(value, owner=self) + + @property + def naampad(self) -> str: + """De mensleesbare naam van een asset zoals dit bv. ook terug te vinden is op een etiket op het object zelf. De assetbeheerder kent deze naam toe of geeft de opdracht om deze toe te kennen. Indien een object een algemeen gangbare naam heeft zoals bv. bij een waterloop dan wordt deze gebruikt.""" + return self._naampad.get_waarde() + + @naampad.setter + def naampad(self, value): + self._naampad.set_waarde(value, owner=self) + + +class NaamClass: + def __init__(self): + super().__init__() + + self._naam = OTLAttribuut(field=NaamField, + naam='naam', + label='naam', + objectUri='https://wegenenverkeer.data.vlaanderen.be/ns/implementatieelement#AIMNaamObject.naam', + definition='De mensleesbare naam van een asset zoals dit bv. ook terug te vinden is op een etiket op het object zelf. De assetbeheerder kent deze naam toe of geeft de opdracht om deze toe te kennen. Indien een object een algemeen gangbare naam heeft zoals bv. bij een waterloop dan wordt deze gebruikt.', + owner=self) + + @property + def naam(self) -> str: + """De mensleesbare naam van een asset zoals dit bv. ook terug te vinden is op een etiket op het object zelf. De assetbeheerder kent deze naam toe of geeft de opdracht om deze toe te kennen. Indien een object een algemeen gangbare naam heeft zoals bv. bij een waterloop dan wordt deze gebruikt.""" + return self._naam.get_waarde() + + @naam.setter + def naam(self, value): + self._naam.set_waarde(value, owner=self) + + +def test_naampad_assign(): + naampad_object = NaampadClass() + naampad_object.naampad = "valid/naampad/123" + assert naampad_object.naampad == "valid/naampad/123" + naampad_object.naam = "123" + assert naampad_object.naam == "123" + naampad_object.naampad = "valid/naampad/123" + assert naampad_object.naampad == "valid/naampad/123" + with pytest.raises(ValueError): + naampad_object.naampad = "valid/naampad/456" + with pytest.raises(ValueError): + naampad_object.naam = "456" + + naampad_object = NaamClass() + naampad_object.naam = "123" + assert naampad_object.naam == "123" + + diff --git a/UnitTests/htmlcov/class_index.html b/UnitTests/htmlcov/class_index.html index 94de85106..8208d875a 100644 --- a/UnitTests/htmlcov/class_index.html +++ b/UnitTests/htmlcov/class_index.html @@ -55,7 +55,7 @@
coverage.py v7.6.9, - created at 2024-12-18 14:50 +0000 + created at 2024-12-19 23:46 +0000
@@ -360,13 +360,45 @@coverage.py v7.6.9, - created at 2024-12-18 14:50 +0000 + created at 2024-12-19 23:46 +0000
coverage.py v7.6.9, - created at 2024-12-18 14:50 +0000 + created at 2024-12-19 23:46 +0000
coverage.py v7.6.9, - created at 2024-12-18 14:50 +0000 + created at 2024-12-19 23:46 +0000