diff --git a/cfmtoolbox/plugins/uvl_export.py b/cfmtoolbox/plugins/uvl_export.py index 0421dcd..7032527 100644 --- a/cfmtoolbox/plugins/uvl_export.py +++ b/cfmtoolbox/plugins/uvl_export.py @@ -97,6 +97,9 @@ def serialize_constraint(feature: Feature, cardinality: Cardinality) -> str: if interval.lower == interval.upper: return f"({feature.name} = {interval.lower})" + if interval.upper is None: + return f"({feature.name} >= {interval.lower})" + return ( f"(({feature.name} >= {interval.lower}) & ({feature.name} <= {interval.upper}))" ) diff --git a/tests/plugins/test_uvl_export.py b/tests/plugins/test_uvl_export.py index 5228369..f3cb68f 100644 --- a/tests/plugins/test_uvl_export.py +++ b/tests/plugins/test_uvl_export.py @@ -402,6 +402,7 @@ def test_serialize_features(): ["constraint", "expectation"], [ (Cardinality([Interval(1, 1)]), "(Sandwich = 1)"), + (Cardinality([Interval(1, None)]), "(Sandwich >= 1)"), (Cardinality([Interval(1, 2)]), "((Sandwich >= 1) & (Sandwich <= 2))"), ], )