Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
davidvlaminck committed Dec 19, 2024
2 parents ce8d220 + a4617d7 commit c98dfc6
Show file tree
Hide file tree
Showing 14 changed files with 725 additions and 183 deletions.
25 changes: 23 additions & 2 deletions UnitTests/OTLFieldTests/CustomFields/NaamField_test.py
Original file line number Diff line number Diff line change
@@ -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"),
Expand All @@ -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}"
85 changes: 85 additions & 0 deletions UnitTests/OTLFieldTests/CustomFields/NaampadField_test.py
Original file line number Diff line number Diff line change
@@ -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"


84 changes: 62 additions & 22 deletions UnitTests/htmlcov/class_index.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit c98dfc6

Please sign in to comment.